新鲜的NGINX安装非常低的请求/秒

用新的nginx安装,我得到了运行apache基准testing的结果,我觉得这很奇怪。 获取的页面是由nginx安装的默认静态index.htmltesting页面。 在本地运行ab具有非常高的请求/秒,但是远程运行却非常低。 暂时禁用我的防火墙进行testing。

AB -n 100本地运行:

文档path:/
文档长度:3698字节

并发级别:1
testing时间:0.21347秒
完成请求:100
失败的请求:0
写错误:0
总传输量:391000字节
 HTML传输:369800字节
每秒请求数:4684.50 [#/秒](平均值)
每个请求的时间:0.213 [ms](平均值)
每个请求的时间:0.213 [ms](意味着跨所有并发请求)
传输速率:17847.94 [千字节/秒]收到

AB -n 100远程运行(从两台不同的机器,一个Windows 7和另一个Mac OS 10.7):

 
并发级别:1
testing时间:12.502秒
完成请求:100
失败的请求:0
写错误:0
总传输量:391000字节
 HTML传输:369800字节
每秒请求数:8.00 [#/秒](平均值)
每个请求的时间:125.020 [ms](平均值)
每个请求的时间:125.020 [ms](mean,a
传输率:30.54 [千字节/秒]

连接时间(ms)
分钟平均值[+/- sd]中值最大值
连接:38 43 1.6 42 56
处理:78 82 2.1 82 97
等待:38 43 1.3 43 49
总计:121 125 2.6 125 139

我们所有的网站上运行的Apache也有这个相同的问题。 我安装了nginx,试试看是否是apacheconfiguration问题,但显然不是。 我无法确定结果之间为什么会有这么大的差异,希望有人能提供一些见解。

这是正常的吗? 在我的服务器上是否有configuration错误?

你的testing变得如此令人震惊,因为你很遥远,而且你的testing瓶颈在请求延迟上。

吞吐量在这里是一个问题(你的客户端到服务器的连接速度有多快),但我看到的主要问题是你的并发性设置为1 – 这意味着在发送下一个请求之前, ab正在等待每个请求完成。

正如它所说, Time per request: 125.020 [ms] (mean)Time per request: 125.020 [ms] (mean) 。 由于HTTP保持活动状态在缺省情况下也在ab被禁用,所以我猜测你ping服务器时得到的往返时间大约是60ms?

尝试ab -n 100 -k -c 10 – 它不会摆脱所有的延迟延迟,但它应该将每个请求的时间减半,并且所有并发的平均延迟10倍 – 可能会完成testing快20倍左右。