使用JMeter进行性能测试

在开发复杂的高可用性软件项目时,性能至关重要。 在当今这样的现代时代尤其如此,除了闪电般的快速访问实时数据之外,其他任何事情都受到惩罚。 当谈论有时需要的大量数据时,这并不总是一件容易的事。

在本文中,我们将使用在线预订引擎作为指导示例。 所有数据均来自单个API。 我们将映射预期的瓶颈,在预期的负载上设置实际方案,并自动执行所有这些操作,以便我们可以始终检查性能。 我们将使用JMeter和BlazeMeter进行此操作。

分析

API上的所有负载可以归为以下三类之一。 我们的预订引擎提供了API调用。 然后是对我们的系统资源有影响的自动化作业。 这些也由API端点触发。 最后,我们看一下独立于预订引擎对服务器征税的API调用。 换句话说,重要的是绘制影响服务器资源的所有因素的图表,因为负责负载的不仅仅是预订引擎。

我们使用Google Analytics(分析)来检查每个API方法当前的页面浏览量。 一年中最繁忙的一天是负载的基础。 如果您期望一定数量的增长,则可以始终将其乘以某个特定因素。 我们还将研究一方面预订引擎与自动任务之间的API调用与其他调用之间的划分。 最好在一年中完成此操作。 所有这些的结果应类似于以下内容:

API调用 百分比 部分
/可用天数 5千 31% 预订引擎
/可用时间 4k 15% 预订引擎
/重新计算事件 1k 16% 任务
/获取员工 2k 5% 其他

杰米特

我们使用JMeter编写性能测试。 为了从这些数据创建现实的JMeter场景,我们使用了两个附加插件:

最后,该场景如下所示:

该场景中包含三个重复部分。 一些重要方面:

1.使用Random CSV Data Set插件加载随机餐厅ID,以创建不同餐厅的API请求。
2.通过引擎完成预订包含几个连续的步骤。 我们使用来自CSV集合的随机数据和JMeter函数调用这些步骤:

正则表达式提取器将API响应保存在变量中,以用于后续步骤:

3. IF控制器确保仅在满足特定条件时才开始后续步骤。 如果没有,JMeter将开始下一个测试周期,在该周期中,我们将检查所给随机数据的可用性。 Jexl2表达式用于检查变量是否不为null:

4.在最后一步中,我们使用Response Assertion来检查响应。 如果它不包含“成功”一词,则JMeter进入下一个测试周期:

5.加权开关控制器用于以加权平均值启动自动化任务和其他API调用。 为此,我们使用分析中的百分比。

每个组需要一定数量的用户。 根据您的分析和预期的负载,选择一个有意义的数量。

烈焰仪

BlazeMeter是运行JMeter测试的好工具。 上传方案,插件和数据CSV之后,您可以使用并发用户数量,完成时间和启动时间来配置负载。 最重要的因素是用户数量。 根据JMeter中设置的用户数量,此金额将平均分配给不同的组。 该数量应至少产生您的预期负载。 最后,BlazeMeter还允许您选择流量来源。 它的免费计划允许您每周运行一个这样的计划。

还可以根据您的KPI选择失败条件:

BlazeMeter允许与不同的监视和CI工具集成。 我们自己使用竹子。 有Bamboo插件全面的指南可帮助您进行集成

这样,您可以每周运行一次自动化性能测试(如果您升级BlazeMeter订阅,则可以更频繁地运行)。 这些测试会生成报告,其中包含每个请求的响应和错误的详细概述。

结论

正确进行分析可能是编写性能测试中最重要的部分。 这意味着不仅要从应用程序本身获取预期的负载,还要从其他API调用和影响性能的其他任务中获取。 该数据用于创建JMeter场景。 随机数据和加权控制器插件在这里有很大的帮助。 BlazeMeter使您可以运行这些方案并创建直观的报告,以帮助您发现瓶颈和问题。 与您的CI系统集成在这里是一个福音。

性能测试是一种宝贵的工具。 JMeter与BlazeMeter的结合使我们能够定期且始终如一地清除瓶颈和问题。 因此,每个构建都将尽快完成。

翻译自: https://www.javacodegeeks.com/2019/10/performance-testing-with-jmeter.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用JMeter进行性能测试时,下面是一些详细的步骤: 1. 下载和安装JMeter:首先,你需要从官方网站(https://jmeter.apache.org/)下载并安装JMeter。 2. 创建测试计划:打开JMeter后,你需要创建一个新的测试计划。在左侧的树形结构中,右键点击测试计划,选择“Add” -> “Threads (Users)” -> “Thread Group”。 3. 配置线程组:在线程组下,你可以设置虚拟用户的数量、循环次数、延迟等参数。你可以根据实际需要进行调整。 4. 添加Sampler:Sampler用于发送请求。在线程组下,右键点击“Add” -> “Sampler” -> 选择你要测试的协议(如HTTP)。 5. 配置Sampler:根据你的需求,配置Sampler的参数,如请求URL、请求方法、请求头、请求体等。 6. 添加监听器:监听器用于收集和展示测试结果。在线程组下,右键点击“Add” -> “Listener” -> 选择你想要的监听器(如Summary Report、View Results Tree等)。 7. 配置监听器:根据需要,配置监听器的参数,如结果文件保存路径、报告格式、图表等。 8. 运行测试计划:点击工具栏上的“运行”按钮,或者使用快捷键Ctrl+R来启动测试。 9. 分析测试结果:测试完成后,你可以查看监听器中收集到的测试结果。这些结果包括请求响应时间、吞吐量、错误率等。你可以根据这些结果来评估系统的性能。 以上是使用JMeter进行性能测试的基本步骤。当然,根据具体的项目需求,你可能还需要配置更多的参数和添加更多的组件来完成更复杂的性能测试场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值