清漆:每秒有多少要求峰值(合理地)预期



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

4 台 Web 服务器(Windows 2003 服务器上的 IIS 6.5,每台服务器安装在英特尔® 至强(R( CPU E5450 @ 3.00GHz 四核,4GB RAM 上(

3x 清漆服务器(Ubuntu 12.04.2 LTS 上的 varnish-3.0.3 修订版 9e6a70f - 64 位/精确,内核 Linux 3.2.0-29 通用,每个都安装在英特尔(R( 至强(R( CPU E5450 @ 3.00GHz 四核,4GB RAM(

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

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

我们正在努力提高我们的 Varnish 服务器性能和/或了解问题的实际位置:为了做到这一点,我们真的可以使用其他公司的某种"基准",他们以类似的方式使用它,以帮助我们了解我们离预期性能有多远(我假设我们是(。

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

我还将尝试发布我们的清漆日志文件的一小部分。

提前感谢,

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

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

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

最新更新