【发布时间】:2018-06-02 19:13:06
【问题描述】:
我正在尝试使用来自 windows 7/10 的最新 JMeter 3.3 加载测试网站
当线程数为 120 或以上时,我开始从 F5 收到 SSL 握手失败。
当我将-Djavax.net.debug=all 添加到执行时,我发现许多不同的套接字异常:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.security.ssl.InputRecord.readFully(Unknown Source)
at sun.security.ssl.InputRecord.read(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
或者
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.security.ssl.InputRecord.readFully(Unknown Source)
at sun.security.ssl.InputRecord.read(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
或者
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at sun.security.ssl.OutputRecord.writeBuffer(Unknown Source)
at sun.security.ssl.OutputRecord.write(Unknown Source)
我关注answer,但可能已经过时了:
确保您的 HTTP 请求“实施”是 HTTPClient4 添加 将以下行添加到 user.properties 文件(位于 /bin 文件夹中 你的 JMeter 家)
httpclient4.retrycount=1 hc.parameters.file=hc.parameters 在 hc.parameters 文件(相同位置 - JMeter 的 /bin 文件夹)取消注释 下一行:
http.connection.stalecheck$Boolean=true
如何防止这些错误?我尝试调整加速期,但没有帮助。 我还尝试添加 EnableConnectionRateLimiting 注册表建议 here 并失败。
我是否达到了 Windows 上 JMeter 的限制,还是可以配置/增加它?
编辑
我尝试使用不同的重试次数和 Java 实现设置 HTTP,但没有改变。
EDIT2
我发现为我的 HTTP 请求使用特定的正确 TLSv1.2 协议解决了这个问题,在 jmeter.properties 中添加以下行:
https.socket.protocols=TLSv1.2
有 enhancement 用于使 http 参数可配置。
这使我能够将负载增加到大约 220 个线程,而不会在加速期间出现 SSL 握手错误。
【问题讨论】:
-
@UBIKLOADPACK 我们做了一个解决方法来克服它
-
如果不保密是什么?
-
@UBIKLOADPACK 没有通过 F5
-
所以这是 F5 的性能问题?我已经遇到过这种问题。有时它也是一个保活不匹配。
-
@UBIKLOADPACK 好像是 F5 问题
标签: multithreading sockets ssl jmeter