CentOS如何利用JMeter进行移动端性能测试
导读:CentOS下利用JMeter进行移动端性能测试的完整流程 一、前置环境准备 CentOS服务器基础配置 安装JDK:JMeter依赖Java环境,需先安装OpenJDK 8(或更高版本)。执行以下命令:yum install -y...
CentOS下利用JMeter进行移动端性能测试的完整流程
一、前置环境准备
-
CentOS服务器基础配置
- 安装JDK:JMeter依赖Java环境,需先安装OpenJDK 8(或更高版本)。执行以下命令:
yum install -y java-1.8.0-openjdk-devel # 安装JDK echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" > > /etc/profile # 配置环境变量 echo "export PATH=\$JAVA_HOME/bin:\$PATH" > > /etc/profile source /etc/profile # 生效配置 java -version # 验证安装(显示Java版本即成功)
- 安装JMeter:下载JMeter二进制包(如5.4.3版本),解压至指定目录并配置环境变量:
tar -zxvf apache-jmeter-5.4.3.tgz -C /usr/local/ # 解压到/usr/local echo "export JMETER_HOME=/usr/local/apache-jmeter-5.4.3" > > /etc/profile echo "export PATH=\$JMETER_HOME/bin:\$PATH" > > /etc/profile source /etc/profile # 生效配置 jmeter -v # 验证安装(显示JMeter版本即成功)
- 安装JDK:JMeter依赖Java环境,需先安装OpenJDK 8(或更高版本)。执行以下命令:
-
移动端设备准备
- 真机测试:将Android/iOS设备通过USB连接至CentOS服务器,开启USB调试模式(Android:设置→关于手机→多次点击版本号→返回→开发者选项→开启USB调试;iOS:设置→隐私与安全性→开启开发者模式)。
- 模拟器测试:安装安卓模拟器(如夜神模拟器)或iOS模拟器(需Xcode),启动模拟器并确保其与CentOS服务器在同一局域网内。
二、录制移动端测试脚本
-
配置JMeter代理服务器
在JMeter中添加HTTP代理服务器(工作台→右键→添加→非测试元件→HTTP代理服务器),设置以下参数:- 端口:默认8888(可自定义,需与手机代理设置一致);
- 目标控制器:选择“测试计划→线程组”(录制的请求将保存至线程组);
- 点击“启动”按钮,此时JMeter会弹出证书提示(用于HTTPS请求解密)。
-
手机端设置代理
- 确保手机与CentOS服务器处于同一WiFi网络;
- 进入手机WiFi详情页,选择“手动代理”模式,输入:
- 服务器主机名:CentOS服务器的IP地址(可通过
ip addr
命令查看); - 端口:与JMeter代理服务器设置的端口一致(如8888);
- 服务器主机名:CentOS服务器的IP地址(可通过
- 安装JMeter证书(用于HTTPS解密):
- Android:在弹出的证书安装提示中选择“允许”,将证书保存至“信任的凭据→用户”;
- iOS:前往“设置→通用→描述文件与设备管理”,安装JMeter生成的证书(名称类似“JMETER CA”)。
-
录制与保存脚本
- 在JMeter代理服务器界面点击“启动”,然后在手机上操作待测APP(如登录、浏览商品、提交订单);
- 操作完成后,返回JMeter点击“停止”,录制的HTTP/HTTPS请求将自动保存至线程组中;
- 保存脚本为
.jmx
格式(如mobile_test.jmx
),便于后续修改和执行。
三、优化与执行测试脚本
-
脚本优化
- 删除无关请求:移除录制中产生的广告、统计等非核心业务请求;
- 参数化数据:使用CSV Data Set Config或用户定义的变量(UDV)替换固定参数(如用户名、密码),避免重复数据导致的测试偏差;
- 添加定时器:通过高斯随机定时器(Gaussian Random Timer)模拟用户思考时间,使请求更接近真实场景;
- 添加断言:通过响应断言(Response Assertion)验证接口返回结果的正确性(如状态码200、包含特定关键词)。
-
执行非GUI模式测试
在CentOS服务器终端执行以下命令,以非GUI模式运行测试脚本(避免GUI占用资源):jmeter -n -t /path/to/mobile_test.jmx -l /path/to/results.jtl -e -o /path/to/report
- 参数说明:
-n
:非GUI模式;-t
:指定测试脚本路径;-l
:记录测试结果的.jtl
文件路径;-e
:测试完成后生成HTML报告;-o
:报告输出目录(需为空目录)。
- 参数说明:
-
查看测试报告
执行完成后,在浏览器中打开/path/to/report/index.html
,即可查看详细的性能报告(包括响应时间、吞吐量、错误率、TPS等指标)。
四、高级配置(可选)
-
分布式测试
若需模拟大量并发用户,可配置JMeter分布式测试:- 在多台CentOS服务器上安装JMeter;
- 选择一台作为主控机(修改
jmeter.properties
中的remote_hosts
参数,添加从机IP); - 从机上启动
jmeter-server
服务(./jmeter-server
); - 主控机执行
jmeter -n -t script.jmx -l results.jtl -R slave1_ip,slave2_ip
,即可将测试任务分发至从机执行。
-
弱网环境模拟
通过JMeter的HTTP请求默认值或定时器模拟弱网环境(如2G/3G网络):- 添加“固定吞吐量定时器”(Constant Throughput Timer),降低请求速率;
- 使用“高延迟定时器”(Gaussian Random Timer),增加请求延迟;
- 结合
tc
命令(Linux流量控制工具)限制服务器网络带宽(如tc qdisc add dev eth0 root tbf rate 1mbit latency 50ms burst 10kb
)。
通过以上步骤,即可在CentOS服务器上利用JMeter完成移动端性能测试,覆盖脚本录制、优化、执行及报告分析全流程。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS如何利用JMeter进行移动端性能测试
本文地址: https://pptw.com/jishu/718991.html