张三进阶之路 | 我搞了一个 Jmeter

举报
不惑 发表于 2024/12/03 10:50:43 2024/12/03
【摘要】 Apache JMeter 是一个功能强大、灵活且广泛使用的性能测试工具,适用于评估各种 Web 应用程序和服务的性能特性。在选择时,需要考虑项目需求、测试场景和预算。

image.png

前情提要

张三认为公司的测试Team不够专业,因此他决定使用Jmeter进行性能测试以展示自己的能力。Jmeter是一个流行的开源负载和性能测试工具,可以帮助开发者评估系统的性能和稳定性。在使用Jmeter之前,张三需要了解以下几点:

🕵️ **学习Jmeter的基本操作:**张三需要熟悉Jmeter的界面和功能,了解如何创建测试计划、添加线程组、配置采样器、设置断言等。

🕵️ **确定测试目标:**张三需要明确要测试的系统组件、测试场景以及性能指标(如吞吐量、响应时间等)。

🕵️ **编写测试脚本:**根据测试目标和需求,张三需要编写相应的测试脚本,包括请求的URL、请求参数、请求头等信息。

🕵️ **配置测试环境:**张三需要确保测试环境与生产环境尽可能一致,以便获得准确的测试结果。这可能包括安装和配置必要的软件、硬件和网络资源。

🕵️ **执行测试:**张三运行Jmeter测试脚本,收集测试数据并分析结果。他需要关注测试过程中的异常情况,如内存泄漏、CPU过高等问题。

🕵️ **优化和调整:**根据测试结果,张三可能需要对系统进行优化和调整,以提高性能。这可能涉及到代码优化、数据库调优、负载均衡等方面。

🕵️ **持续监控:**性能测试并非一次性任务,张三需要持续关注系统的性能表现,并在必要时进行重新测试和优化。

通过以上步骤,张三可以有效地使用Jmeter进行性能测试,为公司提供有价值的反馈和建议。同时,这也有助于提升他自己的技能和知识。

Apache JMeter

步骤:

🔨 安装 Apache JMeter:

前往 Apache JMeter 官方网站 下载你喜欢的正版 JMeter。(拒绝盗版,从我做起!!!
image.png

🔨 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 或以上版本

🔨 下载链接:https://archive.apache.org/dist/jmeter/binaries/
image.png

💲 配置环境变量:

我们为什么要配置环境变量?

配置环境变量是为了让系统知道程序的位置和执行命令,以及程序所需的依赖,使得这个程序可以在计算机的任何地方都能够被正确执行。

🚨🚨🚨 计算机---->右键,属性---->高级系统设置---->高级---->环境变量

💲 新建系统变量:

变量名: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已经安装成功了。如下图所示:
image.png

中文设置

永久设置:

✏️ 进入Jmeter安装目录下的bin目录(D:\apache-jmeter-4.0\bin)打开jmeter.properties文件;

✏️ 搜索关键词language,修改为language=zh_CN后保存文件;
image.png

✏️ 重启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 应用程序和服务的性能特性。在选择时,需要考虑项目需求、测试场景和预算。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。