也许这是一个关于 ab 的问题,而不是关于 Tornado 的问题,但有些事情没有意义。
我这样运行基准测试:
$ ab -n 100 http://localdomainname/ # 2 tornados being 1 nginx
...
Concurrency Level: 1
Time taken for tests: 0.162 seconds
Complete requests: 100
Failed requests: 17
(Connect: 0, Receive: 0, Length: 17, Exceptions: 0)
Write errors: 0
因此,根据 100 个请求中有 17 个失败了。
在运行基准测试之前,我重置日志文件并再次查看它们:
$ wc -l /tmp/gkc.access.log
100 /tmp/gkc.access.log
$ cat /tmp/gkc.access.log | grep ' 200 ' | wc -l
100
所以,根据 Nginx 的说法,没有请求失败!为什么 ab 说 100 中的 17 个失败了?
(顺便说一句,100 中的 17 只是一个例子。它会上升和下降,但从来不会像我期望的那样为 0)
UPDATE
在不接触 Tornado+Nginx 设置的情况下使用 httperf 进行测试后,我收到 0 个失败的请求。
您得到“长度”失败的请求,这并不意味着响应代码不是 200。它只是意味着跨请求的响应长度不同(它记住第一个请求的长度)。
这个问题已经在这个问题中详细讨论过:使用 AB 进行负载测试...假失败请求(长度) https://stackoverflow.com/questions/579450/load-testing-with-ab-fake-failed-requests-length
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)