
使用Jmeter进行压力测试
发布日期:2021-05-14 09:15:48
浏览次数:15
分类:精选文章
本文共 1412 字,大约阅读时间需要 4 分钟。
使用 JMeter 进行 APP 性能测试
在进行 APP 性能测试之前,请确保已经准备好了测试脚本和目标设备。接下来,我将引导您通过 JMeter 系统进行详细的压力测试。
JMeter 设置
启动 JMeter
- 打开 JMeter 的 bin 文件夹,双击 jmeter.bat 文件启动应用程序。等待 JMeter 启动完成。
创建测试计划
- 展开右侧菜单,在测试计划右键点击,选择 “添加”。
- 选择 “Threads(Users)” → “线程组”,创建线程组来模拟用户请求。
添加测试控制器
- 右键线程组,选择 “添加” → “逻辑控制器” → “简单控制器”,用于控制线程的执行流程。
配置插件
- 在简单控制器右键,选择 “添加” → “配置元件”,添加所需的插件。
- HTTP cookies 管理器:用于管理 cookies,保持会话状态。
- CSV 数据文件设置:用于读取测试数据,替换变量引用。
- 察看结果树 和 聚合报告:用于监控测试进度和分析结果。
配置 HTTP 代理服务器
- 右键测试计划,选择 “添加” → “HTTP代理服务器”。
- 设置代理服务器端口为 8888,目标控制器为测试计划中的 HTTP 代理服务器分组。
手机代理配置
- 在手机设置 →兰状条状菜单中,进入 Wi-Fi 设置,开启ratio proxy(手动代理)。
- 在PC上通过CMD运行 ipconfig,查看局域网 IP 地址,并将其输入到 JMeter 的 HTTP 代理服务器主机名字段。
- 填写代理服务器端口,与 JMeter HTTP 代理服务器设置一致。
录制 HTTP 请求脚本
启动录制
- 仍在 HTTP 代理服务器页面上单击“开始录制”,进入录制模式。
执行测试
- 在手机端运行目标 APP,按照正常流程完成操作。
- 录制完成后,停止录制,生成自定义的 HTTP 请求脚本。
校验脚本
- 根据需要删除或剪辑不必要的请求,确保脚本准确反映真实用例。
生成参数数据
数据准备
- 根据 API 文档,检查每个必需参数。
- 如果需要可以手动生成测试参数,使用 CSV 格式存储,每行为一个参数组。
配置 CSV 文件
- 右键简单控制器,选择 “配置元件” → “CSV 数据文件设置”。
- 设置文件路径和编码格式,默认其他设置即可。
参数变量替换
- 在请求体中使用变量 ${paramName} 替换动态参数。如果参数为固定值,则直接填写数值或逗号分隔字符串。
设置线程属性
- 线程组设置:
- 线程数:配置虚拟用户数量。
- 准备时长:控制线程启动延迟时间(秒)。
- 循环次数:指定每个虚拟用户发送请求的次数,默认为 0,按需设置。勾选“永远”进行持续测试。
运行压力测试
保存测试计划
- 在保存之前确保配置无误,右键测试计划选择“保存为...”,指定文件名和位置。
执行测试
- 点击运行按钮,选择线程组启动测试。
- 在结果树中查看每个请求的响应状态,绿色表示成功,红色表示失败。
分析测试结果
- 查看聚合报告统计总体性能指标:平均、最大、最小响应时间和错误率。
- 根据数据调整性能瓶颈,优化服务器性能或应用逻辑。
视觉提示
- 在测试计划中使用空白页面打开之前的项目时,自行选择“否”以保留现有配置。
- 持续时间建议为 9 分钟(900 秒)或 10,000 条请求,以获得稳定的测试结果。
希望您通过以上步骤顺利完成 APP 的性能测试,并根据测试结果进行必要的优化和调整。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月16日 23时22分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
c++之程序流程控制
2019-03-06
spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!
2019-03-06
httprunner学习23-加解密
2019-03-06
有道云笔记 同步到我的博客园
2019-03-06
李笑来必读书籍整理
2019-03-06
http头部 Expect
2019-03-06
Hadoop(十六)之使用Combiner优化MapReduce
2019-03-06
《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
2019-03-06
CoreCLR源码探索(八) JIT的工作原理(详解篇)
2019-03-06
IOS开发Swift笔记16-错误处理
2019-03-07
flume使用中的一些常见错误解决办法 (地址已经使用)
2019-03-07
andriod 开发错误记录
2019-03-07
C语言编译错误列表
2019-03-07
看明白这两种情况,才敢说自己懂跨链! | 喵懂区块链24期
2019-03-07
张一鸣:创业7年,我经历的5件事
2019-03-07
git拉取远程指定分支代码
2019-03-07
《web安全入门》(四)前端开发基础Javascript
2019-03-07