100 个用户工作正常,200 个用户使用 "Remote host closed connection during handshake" 消息给出 "javax.net.ssl.SSLHandshakeException" 错误

100 users works fine, for 200 it gives "javax.net.ssl.SSLHandshakeException" error with "Remote host closed connection during handshake" message

我有这个 JMX 脚本,当我 运行 为 100 个虚拟用户使用我的笔记本电脑时,它工作正常,没有任何错误。 Here is the BlazeMeter report for the run. But when I increase the virtual users to 200, it is giving me this SSLHandshakeException error. Please find the BlazeMeter error report here.

为了验证系统可以处理 200 个虚拟用户,我使用了四台 AWS JMeter 机器(每台机器加载 50 个虚拟用户)和 运行 相同的脚本,没有发现任何问题。 Here 是此 运行 的报告。

我想知道当我从笔记本电脑为 200 个虚拟用户 运行 时可能会出现什么问题。谁能帮帮我吗?什么会导致这个?

请注意,我使用的是 16GB 内存机器(为 JMeter 分配了 10GB 内存),更新了 Jmeter 属性文件 ("httpclient4.retrycount=1") 和 'hc.parameters'(启用 "http.connection.stalecheck$Boolean=true" 和增加套接字超时 "http.socket.timeout$Integer=600000") \bin 文件夹中的文件。

提前致谢! --伊什提

考虑到本地和 AWS 运行的响应时间差异(1.55 秒对 0.6 秒),并且事实上负载不会随着虚拟用户数量的增加而增加,我希望您的笔记本电脑没有足够的硬件资源来启动 200 个并发用户,否则您没有足够的网络带宽。使用 JConsole or something like it and main OS metrics using i.e. Windows Performance Monitor 或等效项检查 JMeter JVM 统计信息。

此外,如果您不对 stgbasalt.peopleanswers.com 域进行负载测试,最好将其(以及其他外部域)从您的测试计划中排除。如果它来自嵌入式资源 - 通过 "URLs must match" 部分对其进行过滤,请参阅 Excluding Domains From The Load Test 指南以获取更多信息。