我正在尝试使用siege实用程序测试我的服务器上的高负载阻力:
siege http://my.server.ru/ -d1 -r10 -c100
Siege输出了很多这样的消息:
HTTP/1.1 200 0.46 secs: 10298 bytes ==> /
但有时会出现如下错误消息:
Error: socket: unable to connect sock.c:220: Connection timed out
或者这个:
warning: socket: -598608128 select timed out: Connection timed out
测试后有围攻报告:
Transactions: 949 hits Availability: 94.90 % ... Successful transactions: 949 Failed transactions: 51 Longest transaction: 9.87 Shortest transaction: 0.37
在我的服务器上的nginx日志中,只有950条消息,代码为200,响应可以。
"GET / HTTP/1.1" 200 10311 "-" "JoeDog/1.00 [en] (X11; I; Siege 2.68)"
任何人都可以告诉我这意味着什么
Error: socket: unable to connect sock.c:220: Connection timed out warning: socket: -598608128 select timed out: Connection timed out
为什么在我的nginx日志中我只看到代码为200的响应?
答案 0 :(得分:5)
这可能意味着您的管道已满,无法处理更多连接。如果管道已满,则无法使nginx或nginx后端接受更多连接。尝试针对localhost进行测试。然后,您将测试堆栈而不是堆栈和管道。它会更像真正的负载,但让你知道你可以用更大的管道处理什么。