独学而无友,则孤陋而寡闻!
分类: 系统运维
2015-05-21 16:53:16
百度后的结果,大多数都是抄了一遍文章,让修改源代码再重新编译,也有人建议使用maxfiles,但最后都没有从根本上解决问题。
实际上,这是ab的一个特性,遇到严重的网络错误后,就会退出测试,因为这种错误说明网络存在其他问题,但是只要服务器返回数据,哪怕是数据不对,ab也会继续下去,但是会记录数据长度不对。
但事实上是:在高压力下,偶尔的一两个请求被阻止,这是一个正常的情况,特别是有防火墙或入侵检测系统的情况下,这种事情会经常发生。
那么ab有没有参数来跳过这种错误,使测试继续下去呢?
其实仔细看man ab,会发现ab本身就有这个参数:
点击(此处)折叠或打开
-r参数就是“在遇到socket接收错误后,不退出测试”
所以,解决ab遇到Connection reset by peer错误就自动退出的问题非常简单,加一个-r参数就好。