JMeter压测笔记

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 本文是Jmeter操作笔记,本文是Jmeter操作笔记,本文是Jmeter操作笔记


启动Jmeter


通过点击jmeter解压目录.\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin\jmeter.bat 启动jmeter,


c9a3854bbdbef82169b38c38a7fc8096.png


上图有一个默认的测试计划,没有任何内容。


线程组


线程组元件是任何测试计划的开始点,可以配置要模拟的用户数,所有的任务都是基于线程组。


右键单击(Test Plan)>Add> Threads(Users)>Thread Group, 将添加线程组。


161eca2a322bfbcfc8b4331ea86eb4b6.png


区域一:在采样失败后怎么处理?


  1. Continue:继续执行接下来的操作;
  2. Start Next Thread Loop:开始下一次循环;
  3. Stop Thread:停止线程,退出该线程(不再执行此线程的操作);
  4. Stop Test:等待当前执行的采样器结束后,结束整个测试;
  5. Stop Test Now:马上停止测试;


区域二:线程属性


  1. Number of Threads(users): 线程数,相当于模拟的用户数量;


  1. Ramp-up Period(in seconds): 达到指定线程需要的时间,如果线程数是10, 时间设定为1s, 就是1s内尝试加载10个线程;


未指定ramp-up period ,也就是说ramp-up period为0,JMeter 将立即建立所有线程。


  1. Loop Count:循环次数,如果选择[Forever]则一直执行下去,直到手动停止。


旁白:  在某R周期内启动了N个线程数, 进行了L次这样的周期测试。

请求次数= 线程数 * 循环次数


  1. Duration:整个压测的时长

添加采样器


此次我们主要测试 [多读少写]的场景,故我们添加http请求采样器。

在特定线程组右键>Add>Sampler>Http Request:


89a6f26d94c6456d532a17624d2cd48f.png


基本使用方式,一点就通。

 

添加侦听器


通过侦听器 监听采样结果:线程组右键>Add>Listener>[****],


这里添加几个有效常见的侦听器:View Results Tree、Summary Report、Aggregate Report、Aggregate Graph


06b4ad82937874e45ea582b12c59124d.png


压测过程


在一个线程组内的线程是依次执行的,我们建立两个线程组分别测试


(读写比1:1)


压测时长:4分钟 每秒尝试启动300线程不断循环
http://localhost:5000/rwlock?key=aa&value=ss 1
http://localhost:5000/rwlock?key=aa&value=ssss 1
http://localhost:5000/monitorlock?key=aa&value=ss 1
http://localhost:5000/monitorlock?key=aa&value=ssss 1


3bf083b2b14e8016fe278edfa616a213.png


ff8194baaf3440facc3d747ab1d4881c.png


(读写比10:1)


eddd86942caaa8f4d3f5142aa6cae271.png


cff3cdcb33adc530bb9cfc8c349f0b17.png


Label :各个模拟测试的名称

Samples :各个测试的样本总数

Average :每个请求的平均响应时间

Median :中值,即50%请求的平均响应时间

90%Line :90%请求的响应时间

Min :最小响应时间

Max :最大的响应时间

Error% :错误响应的概率,即无法响应的概率

ThroughPut :吞吐量 – 默认情况下表示每秒完成的请求数(Request per Second)。

KB/Sec :每秒从服务器端接收到的数据量。


貌似性能基本没差异,====》 到Stack Overflow走一圈,    类似问题


There's no contention in this program. The Get and Add methods execute in a few nanoseconds. The odds that multiple threads hit those methods at the exact time are vanishingly small.


这个压测中没有争用,_dict.TryGetValue 是o(1)的复杂度,速度很块,多个线程在某时刻命中这个方法的概率极小,整个api代码块耗时几纳秒,压测结果12ms,绝大部分都是在网络上, 貌似要写代码测试了


真是一个悲伤的故事,本文最终沦落为#JMeter操作笔记#。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
170 3
|
3月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
124 2
|
4月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
133 1
|
4月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
142 0
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
79 3
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
60 1
|
3月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
121 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
86 4
|
3月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
106 3
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
89 5