JMeter压力测试步骤

JMeter压力测试步骤

1.创建线程组

点击选中测试计划,右键点击创建线程组
在这里插入图片描述
点击线程组,这里可以设置名称,添加注释,设置线程数(每次有多少线程同时开启)、线程响应时间(多少秒完成线程)、循环次数(每个线程数需要开启几次)等
在这里插入图片描述

2.创建取样器(以HTTP为例)

点击选中线程组,右键添加取样器输入协议
在这里插入图片描述
点击刚设置的取样器,这里可以设置名称,设置http/https(不输入默认为http),服务器IP,端口号(不输入默认80端口),选择HTTP请求类型,相关路径(若无则不填),以下以百度为例
在这里插入图片描述

3.最后需要添加监听器获取监控结果

同样选择线程组,右键添加监听器
在这里插入图片描述
常用的有汇总报告,察看结果树,聚合报告

3.1汇总报告

这里可以看到每个请求以及总体的各项指标,我们要关注的是异常百分比和吞吐量,异常百分比越大,性能就越差,吞吐量越大效率越高
在这里插入图片描述

3.2察看结果树

这里可以看到响应数据和请求内容,以及取样器结果等
取样器结果如下图,请求栏有请求头和请求数据,响应数据栏有响应头和响应数据。
在这里插入图片描述响应数据一般为HTML源码,请求头主要记录的是时间,返回状态等等数据,点击Text右边的三角形可以切换观察的数据格式,如JSON等

3.3聚合报告

这里能看的数据包含了汇总报告的内容,并且还能看到百分比响应时间等数据,相对于汇总报告,百分比响应是我们更需要关注的地方,如果不需要了解太深,就用汇总报告,需要了解更多的就需要用到聚合报告
在这里插入图片描述

03-08
### 压力测试概述 压力测试是一种评估系统在极端负载条件下的性能表现的方法。通过模拟大量并发用户操作或其他高负荷情况,可以发现系统的瓶颈并验证其稳定性和可靠性[^1]。 ### 压力测试方法 为了有效地实施压力测试,通常采用以下几种策略: - **逐步增加负载**:从较低水平开始逐渐提高请求频率直到达到预期的最大容量。 - **突发流量注入**:短时间内发送大量的请求来观察系统响应。 - **长时间持续运行**:让应用程序保持高强度工作状态数小时甚至几天以检测长期稳定性。 这些方法有助于识别潜在的问题区域以及优化配置参数设置[^2]。 ### 使用 JMeter 进行压力测试 JMeter 是一款强大的开源工具,适用于多种类型的性能测试场景。对于Web应用而言,可以通过定义HTTP请求样本来创建虚拟用户的活动模式;而对于非HTTP协议的服务,则支持自定义采样器实现特定功能调用。此外,还提供了丰富的监听器组件帮助分析结果数据,如查看图表、表格等形式展示的关键指标变化趋势图等。 #### Python脚本示例 - 利用命令行启动JMeter进行简单测试计划执行 ```bash jmeter -n -t /path/to/testplan.jmx -l /path/to/resultsfile.csv ``` 此命令将在非GUI模式下运行指定路径中的`.jmx`格式测试计划文件,并将输出记录保存至CSV文件中以便后续处理解析。 ### App压力测试实践案例 针对移动设备上的原生或混合型APP开展压力测试时,除了考虑网络交互外还需要特别关注本地资源占用状况(CPU/GPU内存消耗)、UI渲染效率等方面的影响因素。例如,在对安卓平台自带的计算器应用(com.android.calculator2)进行压测过程中,可通过自动化框架配合ADB指令快速生成一系列随机算术运算事件序列,以此检验该程序能否承受住高频次的操作而不崩溃或卡顿现象发生。 ```python import random from subprocess import Popen, PIPE def generate_random_operations(): operations = ['+', '-', '*', '/'] num_operands = 2 operands = [random.randint(1, 99) for _ in range(num_operands)] operation = random.choice(operations) expression = f"{operands[0]} {operation} {operands[1]}" return expression for i in range(1000): # 执行1000个事件 expr = generate_random_operations() cmd = ["adb", "shell", "am", "start", "-a", "android.intent.action.VIEW", "--es", "expr", expr, "com.android.calculator2/.Calculator"] process = Popen(cmd, stdout=PIPE, stderr=PIPE) output, error = process.communicate() print("完成全部测试.") ``` 上述Python代码片段展示了如何利用ADB shell命令向目标APK传递计算表达式的具体法,从而形成连续不断的输入流对其进行强度考验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值