一文详解!JMeter该如何并发测试和持续性压测?

news/2024/11/21 20:27:50/

目录

前言:

概念

并发测试

持续性压测

查看报告

总结

试试其他 API 工具

知识扩展:


前言:

JMeter 是一个 Java 编写的开源负载测试工具,基于模拟用户、线程和请求,结合测试计划和策略,可以模拟真实的用户流量和业务场景,为我们提供测试代码的可维护性、跑批效率,以及在线的性能报告, 它可以用于测试 Web 应用程序、Web 服务、FTP 甚至是数据库。

概念

并发测试: 旨在评估系统在同时处理多个用户请求时的性能。在这种 测试 中,系统会暴露于一定数量的用户负载下,并且会记录系统的响应时间、吞吐量和资源利用率等指标。这些指标可以用来确定系统的性能瓶颈,以及在不同负载下系统的表现。

持续性压测: 旨在评估系统在长时间运行或高负载下的性能。在这种测试中,系统会暴露于一定数量的用户负载下,并且会持续一段时间运行,通常在几个小时或几天。这种测试可以用来确定系统在长时间运行下的表现,以及在高负载下系统是否具有可扩展性。

并发测试

在并发测试中,需要选择合适的参数,以模拟实际场景中的用户行为。这些参数包括:

  • 并发用户数:应根据系统的预期使用情况和硬件配置来确定。

  • 请求类型:应选择与实际场景中的用户行为相同或相似的请求类型。

  • 请求频率:应根据实际场景中的用户行为和系统的处理能力来确定。

  • 测试时间:应考虑系统的稳定性和可靠性,通常应持续一段时间。

  • 测试环境:应选择与实际生产环境相同或相似的测试环境。

并发是在线程组下的线程属性中设置的。

  • 线程数:对应的是并发用户数。10 个线程就是模拟 10 个用户。

  • Ramp-Up 时间 (秒):线程准备时长。对应的是测试时间。如果线程数为 10,准备时长为 10,那么需要 1秒钟启动 1 个线程。

  • 循环次数。如果线程数为 10,循环次数为 10,那么每个线程发送 10 次请求。总请求数为 10*10 = 100。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动停止。

设置不同的负载配置,来查看系统在不同负载下的表现。

持续性压测

持续性压测和并发测试比,主要的不同就是持续时间长。在 JMeter 中持续性压测,只需:

  1. Ramp-Up 设置到比较大的值,比如说 1天(86400秒) 。

  2. 循环次数设置为永远。

查看报告

JMeter 监听器用于收集测试结果并生成报告。在使用 JMeter 进行性能测试时,监听器非常重要,可以帮助您确定性能瓶颈和优化机会。以下是一些常用的 JMeter 监听器:

  • 聚合报告:提供有关事务响应时间、吞吐量和错误率的信息。

  • 查看结果树:显示每个请求的响应,包括请求头、请求正文和响应正文。

  • 监听器图形结果:将测试结果可视化,以便更轻松地分析性能问题。

  • 断言结果:验证响应是否满足特定条件。

  • 分布式负载测试图:显示不同服务器上的负载情况。

点击运行,可以看到报告。 汇总报告:

图形结果:

总结

在 JMeter 中设置并发是一个重要的过程,需要仔细考虑您要模拟的负载情况以及系统的容量。通过正确设置,可以更好地模拟实际情况并获得更准确的测试结果。

试试其他 API 工具

在 Apifox 中做并发测试也比较容易。上面的例子,对应在 Apifox 中的实现如下。

创建测试步骤:

配置并发:

点击上面的 “运行” 按钮来执行用例,会展示结果报告:

JMeter 可以用来做性能测试,但在日常工作中,我们还有更多的内容要做: API 设计,API 调试,API Mock 等。我们可能会使用多个工具,但在多个工具之间频繁切换(API 设计工具 Swagger、API 测试工具 JMeter)经常会导致数据不一致和团队协作低效率。

 

作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Ksr0Xk0w1DgVzgtyayCH9Uceq2s9E2od&authKey=MoAExSahO5oL2zJfMyKmkDaFi%2FWg5tRNxJRemwEFcv%2Fj8WUYS0WH3AOxsgpKrpQs&noverify=0&group_code=574737577

 

 


http://www.ppmy.cn/news/283264.html

相关文章

软件测试与打螺丝

单元测试中的FIRST代表下面五组英文单词对应的原则: FastIsolated / IndependentRepeatableSelf-validatingTimely / Thorough 软件开发中,往往会因为我们没有注意到的逻辑或难以理解的代码,而引进Bug来。 怎么尽早地发现Bug,…

总结vue3 的一些知识点:MySQL NULL 值处理

MySQL NULL 值处理 我们已经知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。 为了处理这种情况,MySQL提供了三大运算符: IS NULL: 当列的值是 NULL,此运算符返回 …

中国七七红客网

中国七七红客网 链接:http://www.zg77hk.com 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3704/viewspace-488804/,如需转载,请注明出处,否则将追究法律责任。 转载于:http://blog.itpub.net/3704/viewspace-4…

宝月红

宝月红啊宝月红

抖音网红大蓝称视频号永远都做不起来

最近杰哥从微商大佬龚文祥爆料了解到,抖音头部知识付费网红大蓝最近跟视频号杠上了,大蓝发视频表示,视频号永远都做不起来,视频号给抖音提鞋都不配,因为字节跳动短视频技术一直高于腾讯,视频号永远无法超越…

acwing1113 红与黑

题目描述 有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。 输入格式 输入…

红蓝对抗思路

阶段手段备注敏感信息收集公司的组织架构  公司的邮箱格式  公司的员工姓名格式  公司的运维IT人员联系方式  公司的合作伙伴  公网资产(云资产、IP、域名、子公司域名)  泄露代码  用于web\系统打点、社工、钓鱼 资产梳理主域名、ICP备案域名(关联子域名)  子…

哥来了

开博立证: 虽然现在什么都不懂,10年后,我一定要成为一个很牛叉叉的人,哈哈!! 不盲从,不自卑,不自大,事实求是。 宣扬自己,绽放自己,虽伤花亦怒放。…