前情提要
张三认为公司的测试Team不够专业,因此他决定使用Jmeter进行性能测试以展示自己的能力。Jmeter是一个流行的开源负载和性能测试工具,可以帮助开发者评估系统的性能和稳定性。在使用Jmeter之前,张三需要了解以下几点:
🕵️ **学习Jmeter的基本操作:**张三需要熟悉Jmeter的界面和功能,了解如何创建测试计划、添加线程组、配置采样器、设置断言等。
🕵️ **确定测试目标:**张三需要明确要测试的系统组件、测试场景以及性能指标(如吞吐量、响应时间等)。
🕵️ **编写测试脚本:**根据测试目标和需求,张三需要编写相应的测试脚本,包括请求的URL、请求参数、请求头等信息。
🕵️ **配置测试环境:**张三需要确保测试环境与生产环境尽可能一致,以便获得准确的测试结果。这可能包括安装和配置必要的软件、硬件和网络资源。
🕵️ **执行测试:**张三运行Jmeter测试脚本,收集测试数据并分析结果。他需要关注测试过程中的异常情况,如内存泄漏、CPU过高等问题。
🕵️ **优化和调整:**根据测试结果,张三可能需要对系统进行优化和调整,以提高性能。这可能涉及到代码优化、数据库调优、负载均衡等方面。
🕵️ **持续监控:**性能测试并非一次性任务,张三需要持续关注系统的性能表现,并在必要时进行重新测试和优化。
通过以上步骤,张三可以有效地使用Jmeter进行性能测试,为公司提供有价值的反馈和建议。同时,这也有助于提升他自己的技能和知识。
Apache JMeter
步骤:
🔨 安装 Apache JMeter:
前往 Apache JMeter 官方网站 下载你喜欢的正版 JMeter。(拒绝盗版,从我做起!!!)
🔨 JMeter与Java版本的对应关系:
JMeter是基于Java开发的,其不同版本对JDK的要求也各不相同。以下是JMeter与Java版本的对应关系:
JMeter 2.x:JDK 1.5 或以上版本 JMeter 3.x:JDK 1.7 或以上版本 JMeter 4.x:JDK 1.8 或以上版本 JMeter 5.x:JDK 11 或以上版本
🔨 下载链接:archive.apache.org/dist/jmeter…
💲 配置环境变量:
我们为什么要配置环境变量?
配置环境变量是为了让系统知道程序的位置和执行命令,以及程序所需的依赖,使得这个程序可以在计算机的任何地方都能够被正确执行。
🚨🚨🚨 计算机---->右键,属性---->高级系统设置---->高级---->环境变量
💲 新建系统变量:
变量名:JMETER_HOME 变量值:Jmeter安装地址,例如 D:\apache-jmeter-4.0
💲 编辑系统变量:CLASSPATH
变量名:在 CLASSPATH 后面添加 : ;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
💲 最后,保存即可。
启动 JMeter
找到Jmeter解压路径(D:\apache-jmeter-4.0\bin)下 jmeter.bat 文件**(_jmeter.bat(Windows)或 jmeter.sh(Linux/Mac)**_
),双击,并且在提示框点击_”运行“_,此时会弹出两个界面,一个是命令窗口,一个是JMeter窗口,意味着JMeter已经安装成功了。如下图所示:
中文设置
永久设置:
✏️ 进入Jmeter安装目录下的bin目录(D:\apache-jmeter-4.0\bin)打开jmeter.properties文件;
✏️ 搜索关键词language,修改为language=zh_CN后保存文件;
✏️ 重启Jmeter
临时设置:
✏️ Options - Choose Language - Chinese(S)
测试步骤
执行性能测试是评估数据库连接池的重要方法之一,可以使用各种性能测试工具来进行测试。以下是使用 Apache JMeter 进行基本性能测试的示例:
✍🏻 创建测试计划:
- 在 JMeter 主界面上,右键单击 Test Plan,然后选择 Add -> Threads (Users) -> Thread Group。将创建一个线程组。
- 在线程组上右键单击,选择 Add -> Sampler -> JDBC Request。将创建一个 JDBC 请求,用于模拟数据库操作。
✍🏻 配置 JDBC 请求:
- 在 JDBC 请求中,配置数据库连接信息,包括 JDBC URL、用户名和密码等。
- 在 SQL Query 文本框中输入要执行的 SQL 查询语句,例如
SELECT * FROM your_table
。
✍🏻 设置线程组参数:
- 在线程组中,可以设置并发用户数、循环次数等参数,以模拟实际负载。
✍🏻 运行测试:
- 点击工具栏上的绿色运行按钮以开始测试。
✍🏻 查看结果:
- 在测试运行完成后,你可以查看各种性能指标,如响应时间、吞吐量等。
- 还可以导出测试结果以进一步分析。
写在最后
Apache JMeter 是一个功能强大的性能测试工具,用于评估 Web 应用程序和其他服务的性能和负载能力。
🔊 优点:
- 免费开源: JMeter 是一个免费的开源工具,没有任何费用,可在各种项目和团队中广泛应用。
- 跨平台支持: JMeter 可以在多个操作系统上运行,包括 Windows、Linux 和 macOS,提供了广泛的部署选择。
- 易于使用: JMeter 提供直观的用户界面和丰富的文档资源,使得创建、配置和运行测试计划变得相对简单。
- 灵活性: JMeter 支持多种协议和技术,包括 HTTP、HTTPS、SOAP、JDBC 等,允许用户创建各种复杂的测试场景。
- 丰富的功能: JMeter 提供了各种功能和定制选项,如断言、参数化、逻辑控制器等,帮助用户创建高度定制的测试脚本。
- 强大的报告和分析: JMeter 提供多种报告和分析工具,包括图表、图形分析、性能指标等,帮助用户解释测试结果并做出相应的调整。
- 分布式测试支持: JMeter 支持分布式测试,允许用户在多个主机上并行运行测试计划,以模拟更大的负载和复杂的场景。
📣 缺点:
- 资源消耗: 在执行大型测试计划时,JMeter 可能会消耗大量的系统资源,可能导致测试运行缓慢或影响其他正在运行的应用程序。
- 学习曲线: 虽然 JMeter 提供了直观的用户界面,但对于新手来说,仍需要一些时间来熟悉其功能和概念。
- 对分布式测试的支持有限: JMeter 对分布式环境的支持相对有限,需要额外的配置和管理工作。
- 不适合长期负载测试: 对于长期运行的负载测试,JMeter 可能不是最佳选择,可能会出现内存泄漏或稳定性问题。
- 局限于 HTTP/HTTPS 测试: 尽管 JMeter 支持多种协议和技术,但在处理非 Web 应用程序和特定协议方面的能力可能有限。
Apache JMeter 是一个功能强大、灵活且广泛使用的性能测试工具,适用于评估各种 Web 应用程序和服务的性能特性。在选择时,需要考虑项目需求、测试场景和预算。