也许这是一个关于 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 说 17 of 100 失败了?
(顺便说一句,100 人中有 17 人只是一个例子。它会上下波动,但绝不是我所期望的 0)
更新
在不接触 Tornado+Nginx 设置的情况下使用 httperf 进行测试后,我收到 0 个失败的请求。