报错信息
在通过Jmeter进行TCP压测时,报如下错误
java.net.SocketException: Software caused connection abort: socket write error
解决办法
查看TCP取样器的各个参数解释
Re-use connection 如果选中,这个链接处于保持打开状态,不选中就是读取数据后就关闭
Close connection 如果选中,这个链接将会在运行中取样器之后被关闭
SO_LINGER enable/disable(启用/禁用)SO_LINGER设置特定的值,单位为秒,它线性创建套接字,如果你是设置的值为0,你可以避免大量套接字处于TIME_WAIT (等待状态)
End of line (EOL) by value 表示一行结束符,如果设置值在-128到127之外将会跳过eol 检查,你可以在jmeter.properties文件中增加属性eolByte进行设置,如果你在TCP Sampler Config(TCP 取样器配置)中也设置这个属性,那么TCP Sampler Config 中设置的将会奏效
Connect TimeOUt 连接超时(单位毫秒,0 表示禁用超时)
Response Timeout 连接超时(单位毫秒,0 表示禁用超时)
Set NoDelay 可以参考java.net.Socket.setTcpNoDelay(),如果选中,它将会禁用Nagle's算法(利用缓存功能),反之
Text to Send 发送文本信息
Login User 用户名-它不会使用默认实现
Password 密码-它不会使用默认实现,(N.B.【note well 注意】它在测试计划中采用非加密存储 )
经排查是服务端不支持长连接,修改jmeter TCP取样器的配置即可解决
取消掉勾选 Re-use connection