1

我尝试使用两台服务器对需要两次 SSL 握手的请求进行分布式测试。当我们不使用远程主机进行测试时,这工作正常

sh jmeter.sh -n -t sample_Load_Test/sample_test.jmx -l sample_report/Log/results.jtl -e -o sample_report/Dashboard/ 

Jmeter成功: Jmeter成功

但是在尝试将远程主机用于同一个 jmx 文件时,SSL 握手失败。我在所有用于分发测试的服务器中都放置了相同的 jmeter.p12 和 truststore.jks。使用的命令:

 sh jmeter.sh -n -t sample_test/sample_load_test.jmx -l sample_report/Log/results.jtl -e -o sample_report/Dashboard/ -r -Jserver.rmi.ssl.disable=true

请查看我收到的错误

Jmeter故障: Jmeter故障

<httpSample t="20" it="0" lt="0" ct="20" ts="1545068074631" s="false" lb="HTTP Request" rc="非 HTTP 响应代码:javax.net。 ssl.SSLHandshakeException" rm="非 HTTP 响应消息:收到致命警报:handshake_failure"

有谁知道我在这里做错了什么

4

1 回答 1

0

我可以想到两个可能的原因:

  1. 您在主服务器和从服务器上使用不同的JRE 版本,并且它们在存储证书方面具有不同的 SSL 配置。确保在任何地方都使用完全相同的 Java 运行时并且配置是相同的。
  2. 您的测试依赖于客户端证书和您没有在system.properties文件或 SSL 管理器中定义它们的从属设备之一,确保在每个从属设备上使用相同的 JMeter 版本以及相同的配置文件和外部数据文件集.

习惯于查看jmeter.log和/或jmeter-server.log文件 - 在大多数情况下,您应该从日志中获取失败或意外行为的原因。

于 2018-12-18T08:38:52.700 回答