问题标签 [varnish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2907 浏览

varnish - 有没有办法为 Varnish 中的特定请求设置 req.connection_timeout ?

我在 PHP 机器前面有一个 Varnish 设置。对于 98% 的页面,单个请求超时(req.connect_timeout在 VLC 中)有效。但是,我有几页,我们预计它们最多需要 3 分钟才能超时。有没有办法为 Varnish 中的特定请求设置 req.connection_timeout ?如果是这样,请告诉我VCL中的灯。我想req.connect_timeout对所有页面保持相同,但为这几个特定页面提高这个数字。

0 投票
1 回答
1233 浏览

java - 限制清漆客户端等待时间,而不是后端时间

我正在寻找一种解决方案来保证客户端响应时间与清漆,而不限制后端响应时间。

我有大约 100 种不同的资源(http://host/resource.js?id=1 等),它们平均在一秒钟内在后端计算。这些资源由 varnish 缓存,因此它们中的每一个都可以同时提供给许多客户端。资源包含为同步(页面阻塞)javascript,因此应快速提供响应(例如 3 秒)。因为我想保证客户端响应时间,所以我想不出比在这 3 秒上配置后端超时更好的解决方案。一个示例 vcl 如下所示:

我的问题如下。在我停止后端 5 分钟并重新启动它后(而 varnish 在宽限期内提供陈旧数据),许多不同的资源(在 TTL 之外但在宽限内)在后端同时获取。这对数据库造成了沉重的打击,并且在 3 秒内没有提供任何资源,也没有缓存任何资源。

我该如何避免这个问题?我想保证客户端响应时间,但不限制后端响应时间。暂时可以接受失败(虚拟 javascript)。有没有办法随着时间的推移传播请求?(过时的数据优先于错误)。

谢谢,艾弗

0 投票
2 回答
238 浏览

php - 为什么这个 SQL 查询会杀死我的服务器?

当我从 Varnish 缓存服务器在 SQL 服务器上运行此查询时。

表格有aiki_users> 80000 行

ocal_files具有> 30000行的表。

它杀死了服务器。它是通过 ajax 从 php 脚本调用的。我必须关闭调用它的页面。

我不知道它返回什么,但我知道我想做的事情应该用 group by 和 having 创建,但我不知道如何。

aiki_users 表如下所示:

我没有正确访问服务器的权限,看不到 ocal_files 的定义,但是:

谁能告诉我查询有多糟糕以及它返回什么?

0 投票
1 回答
3979 浏览

php - 如何在 ESI:include 脚本中设置 cookie?

我有一个通过 Varnish 加载的基本 PHP 页面,其中包含一个 ESI 包含回调到服务器以设置 cookie。cookie 是通过域访问等设置的,但是当通过 ESI 调用时,cookie 永远不会设置。如果您直接访问 ESI 包含路径,则 cookie 设置没有问题。我什至将我的 Varnish 配置设置为从不缓存任何内容,认为 VCL 可能会杀死 cookie。

这个...

...包括这个...

我是 Varnish 和 ESI 的新手,所以我开始怀疑这是否是一个已知的限制(无论是 ESI 还是 Varnish 的 ESI 实现),但我在网上找不到任何关于我的问题的讨论。

0 投票
5 回答
16343 浏览

php - 清漆缓存不使用会话缓存 PHP 除非后端 TTL 更改

我是 Varnish Cache 的新手,有一个问题希望能得到一些帮助。

我有一个非常简单和基本的设置,但由于某种原因,它无法正常工作。

这与 Varnish 不缓存使用 cookie 的 PHP 页面有关。

这是我的设置:

1) 对于我的 default.vcl,我有一个简单的后端

2) 我有一个简单的 PHP 文件,它只有这两行:

3)当我正确调用此页面时,它不会缓存,因为我没有添加所需的 vcl 规则

4)

因此,根据我对文档的理解,我在这两条规则中添加

5) PHP 页面仍然不会缓存。我可以看到Set-Cookie标题已被删除,因为我在 FireFox 中使用 FireBug。

只有当我将它添加到 sub vcl_fetch 时,PHP 才会缓存:

我的问题是这是正确的吗?

我认为我不需要更改后端响应的 ttl。我认为只是取消设置 cookie 会强制 PHP w/ session 缓存。

我完整的默认 vcl 是:

我的启动命令是:

我打电话的网址是:

我的 index.php 文件只有:

我想问问社区这看起来是正确的还是我错了。本质上我只是不确定为什么我必须添加 beresp.ttl = 24h 才能最终在清漆中使用页面缓存。

我以为我不需要这个。

任何建议都非常感谢。

谢谢!

亲切的问候。

0 投票
1 回答
1016 浏览

varnish - Varnish - TTL 和当前日期

我想根据当前日期设置 TTL。

http://site.com/2011/03/应该有 5 天作为 TTL。
http://site.com/2011/04/应该有 1 天作为 TTL。
当前日期:2011 年 4 月 15 日

这在清漆中怎么可能?

谢谢

0 投票
3 回答
7775 浏览

php - cookie 如何影响 Varnish 缓存?

Varnish 缓存如何影响 Omniture 设置的第三方 cookie 和 Google Analytics 设置的第一方 cookie?

到目前为止,我看到了反对意见,有人说因为跟踪统计信息是由 JavaScript 创建的(这是真的),从请求中删除这些 Cookie 不会影响 GA 或 Omniture。

但是在这里他们说这些软件设置了各种 cookie 来跟踪重复访问者,因此从请求中删除这些 cookie 基本上会将每个用户都视为新访问者。

我不希望我的用户每次都算作新访问者。我不确定这些 JavaScript 嵌入是否能够计算页面是提供给第一次访问者还是经常访问者。任何指向官方 GA 或 Omniture 文档的链接都非常感谢。

0 投票
4 回答
5131 浏览

php - Varnish Cache 不会做 ESI 包含

我在让最简单的 Varnish Cache ESI 测试工作时遇到问题。
在尝试和尝试之后,我想我在这里问。

基本上它只是不会包含 ESI 文件。它只是返回 HTML 而没有包含它。

这是我的清漆启动命令:

这是我正在测试的 URL:

我的 vcl 规则:

1) 默认.vcl

我的示例测试 esi 代码

2) 测试.php

esi 的 php 包括

3) esi_1.php

我已经尝试了上述 vcl 规则的许多变体。
都行不通。只是看不出我哪里出错了?

非常感谢任何建议/帮助。

谢谢你。

0 投票
2 回答
2058 浏览

varnish - varnishadm 删除配置

我可以删除我在清漆中加载的配置吗?

我有:

如果我尝试覆盖配置,我会收到“错误代码 106”

我可以删除列表中的配置吗?

0 投票
2 回答
1185 浏览

memcached - 清漆和adsense

使用 Varnish 提供带有 AdSense 的动态(只读)页面是一种解决方案吗?还是我应该使用 Memcached 来缓存数据库查询?