1

我们当前的 Varnish 配置遇到了一个奇怪的问题。

4 个 Web 服务器(Windows 2003 Server 上的 IIS 6.5,每个都安装在 Intel(R) Xeon(R) CPU E5450 @ 3.00GHz 四核,4GB RAM)上

3 个 Varnish 服务器(Ubuntu 12.04.2 LTS 上的 varnish-3.0.3 修订版 9e6a70f - 64 位/精确,内核 Linux 3.2.0-29-generic,每个都安装在 Intel(R) Xeon(R) CPU E5450 @ 3.00GHz四核,4GB RAM)

3 个 Varnish 服务器有一个非常标准的普通 cfg:我们唯一更改的是 vcl_recv 和 vcl_fetch 以处理会话 cookie。它们当前配置为使用内存缓存,但我们已经尝试使用高性能 Raid 驱动器切换到 HDD 缓存,结果完全相同。

大约两年前,我们已经在我们的旧网络农场上安装了它,没有出现任何问题,一切都像爆炸一样运行。现在,使用上述机器并在全新安装后,当我们的网站流量大时,我们的客户会遇到很多连接问题(客户端请求挂起、404 错误、文件丢失等)。从控制台日志中我们可以清楚地看到,当每个 Varnish 达到大约每秒 700 个请求时,这些问题就开始发生了:看起来他们无法处理更多的事情了。我们可以随时通过关闭一两个 Varnish 服务器轻松重现关键场景,并查看其他服务器的反应:每次请求每秒计数达到 700 时,它们总是开始跳过节拍。考虑到我们过去的经历,并查看清漆规格,这不会

我们正在尝试提高我们的 Varnish 服务器的性能和/或了解问题实际出在哪里:为了做到这一点,我们真的可以使用其他以类似方式使用它的公司的某种“基准”,以便帮助我们了解我们与预期的表现还有多远(我假设我们是)。

编辑(添加的 CFG 文件): 这是我们的default.vcl文件。这是varnishadm >param.show 输出控制台 cmd 的输出。

我还将尝试发布我们的 varnishlog 文件的一小部分。

提前致谢,

4

1 回答 1

2

回答标题中的问题:具有您描述的规格的单个 Varnish 服务器应该可以轻松地服务 20k+ 请求/秒,除了增加线程数之外没有其他调整。

您没有提供足够的信息(vcl、varnishlog)来回答您剩下的问题。

我的猜测是您最终会以某种方式序列化后端请求。检查您的 hit_for_pass 对象并确保它们具有有效的 TTL 集。(120秒就好)

于 2013-09-26T21:15:45.930 回答