Jmeter遇到线程链接被重置(Connection reset by peer: socket write error)的解决方法

做性能测试的时候遇到一个很奇怪的问题,多线程的计划,有一个线程第一次能跑过,第二次确跑不过,单独跑这个线程跑多少次都没有问题,把思考时间改短也没有问题,唯独出现在特定的状态下,特定状态是啥,也不得而知,反正是几个设置叠加再一起碰巧出现。。。我就郁闷了。。。墙外的朋友貌似都有人遇到,墙内的没搜到,所以写了这样一篇文章简单记录一下,解决方法:

现象如图

第一次成功,第二次失败,所以错误率是50%

取样器的结果是这样的:

具体的错误信息:

看上去像是jmeter的bug,百思不得其解。google之。。。解决方案如下,当然可能在部分情况下没办法解决,此方法仅作参考:

1.修改HTTP请求下面的Impementation选项,改成HttpClient4

2.在user.properties文件内修改:

hc.parameters.file=hc.parameters

3.在hc.parameters文件内修改:

http.connection.stalecheck$Boolean=true

重启Jmeter再尝试一下

 

 

另外改问题在2.10以后的版本开始出现,原因有两点:

1.Jmeter 2.10以后禁用了失败请求重试

2.Jmeter 2.10以后禁用了失效检查

 这两点其实也就是上面解决方案的思路,启动了stalecheck。

 

修改过后,效果不错,顺利解决问题。

posted @ 2016-05-27 20:12  向北说再见  阅读(14179)  评论(1编辑  收藏  举报