浅谈JMeter之JMeter开启TLSv1.3进行性能测试
概述
随着网络安全要求的不断提高,TLS(传输层安全协议)的版本也在不断更新。TLSv1.3 是目前最新的版本,提供了更高的安全性和性能优化。在性能测试中,验证系统在 TLSv1.3 下的表现尤为重要。JMeter 是一款广泛使用的性能测试工具,支持模拟多种协议的网络请求。本文将详细介绍如何在 JMeter 中开启 TLSv1.3 进行性能测试。
准备工作
- Java版本 安装确保已安装 JMeter,版本建议使用 5.0 以上,因为较新的版本对 TLSv1.3 的支持更好。
- Java 环境JMeter 依赖于 Java 运行环境,建议使用 Java 8 及以上版本,因为 Java 8 开始支持 TLSv1.3,通过其他资料文献得知,建议Java8版本需要在以下版本上支持。
java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
另外一种测试方法是写代码进行测试,代码如下:
package com.dahua.demotest;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLParameters;
public class TLSVersionCheck {
public static void main(String[] args) throws Exception {
SSLContext context = SSLContext.getDefault();
SSLParameters parameters = context.getSupportedSSLParameters();
String[] protocols = parameters.getProtocols();
System.out.println("Supported TLS versions:");
for (String protocol : protocols) {
System.out.println(protocol);
}
}
}
运行上述结果如下
Supported TLS versions:
TLSv1.3
TLSv1.2
TLSv1.1
TLSv1
SSLv3
SSLv2Hello
- 目标服务器确保目标服务器支持 TLSv1.3,可以使用工具如 openssl 或在线服务(如 SSL Labs)验证。
步骤详解
- 配置 JMeter 使用 TLSv1.3
默认情况下,JMeter 会使用 Java 的默认 TLS 配置。为了确保 JMeter 使用 TLSv1.3,需要进行以下配置:
修改 jmeter.properties 文件 - 找到 JMeter 的安装目录,打开 bin 文件夹。
- 编辑 jmeter.properties 文件,添加或修改以下配置:
# Default HTTPS protocol level:
https.default.protocol=TLSv1.3
设置好以后,重启JMeter工具,然后运行脚本可以看到运行的JMeter日志,可以看到如下信息
2025-03-14 10:26:35,469 INFO o.a.j.u.JsseSSLManager: Using default SSL protocol: TLSv1.3
3. 查看结果树,我们可以看到对应的结果https可以正常进行交互。
- 如果不开启相关配置,我们则会发现交互会报以下错误
常见问题及解决方法
- JMeter 无法使用 TLSv1.3
● 确保 Java 版本支持 TLSv1.3(Java 8 及以上)。
● 检查 jmeter.properties 文件中的配置是否正确。 - 目标服务器不支持 TLSv1.3
● 使用 openssl 或在线工具验证目标服务器的 TLS 支持情况。
● 如果目标服务器不支持 TLSv1.3,可以尝试升级服务器配置或使用其他协议。
总结
通过本文的介绍,您已经掌握了如何在 JMeter 中开启 TLSv1.3 进行性能测试的方法。TLSv1.3 作为最新的安全协议,能够提供更高的安全性和性能优化。在实际测试中,建议结合具体场景和需求,灵活调整测试计划,确保系统在 TLSv1.3 下的表现符合预期。