『授人以鱼,不如授人以渔』
仅以此文赠送那些需要学习Jmeter入门的伙伴。
仅供学习和参考,转载请注明出处。
文章通俗易懂,虽然很长,但是一篇文章可帮大家快速了解Jmeter性能测试过程。
欢迎小伙伴阅读、指正和交流。
特别说明:
1、本文是一个Jmeter快速入门的一个完整过程;
2、可帮助快速了解Jmeter性能测试过程和Jmeter简单操作;
3、文中通过一个简单的实例把Jmeter从安装、汉化到基本操作进行了贯穿,仅作为学习参考。
1、下载官网:Jmeter下载地址;
2、选择对应的版本;
3、安装JDK环境;
4、JDK环境变量配置;
5、Jmeter环境配置。
Options—>Choose Language—>选择其他语言(例如:Chinese(Simplified)简体中文)设置成功。
重启Jmeter
又会恢复英文。Jmeter
的bin
目录下,找到jmeter.properties
文档;language
,找到language=en
的行en
改为cn
,并且去掉前面的#
号,保存退出;jmeter
,语言设置成功。禅道开源版
作为测试对象;Jmeter
进行测试;Windows
,测试对象禅道安装在ubuntu
下。sudo cp ZenTaoPMS-18.8-zbox_amd64.tar.gz /opt/
/opt
目录下:sudo tar -zxvf ZenTaoPMS-18.8-zbox_amd64.tar.gz
禅道服务包括Apache和Mysql,启动命令如下。
/opt/zbox/zbox start
/opt/zbox/zbox stop
/opt/zbox/zbox restart
/opt/zbox/zbox restart
加到操作系统的自启目录。http://禅道服务器ip:apache端口。
特别注意:这里需要开放几个端口:
1、sudo ufw status
查看开放的端口:
2、开放需要的端口:sudo ufw allow 端口
防火墙
和selinux
再刷新网页访问试一下;apache
使用端口;admin
,密码 123456
;/opt/zbox/zbox
会打印输出命令可用参数:Usage: ./zbox {start|stop|status} [--aport=8080] [--mport=3307]
--aport参数 可以修改Apache的端口
--mport参数 可以修改Mysql的端口
adminer
,但是为了安全,访问adminer
的时候需要身份验证,需要运行 sudo /opt/zbox/auth/adduser.sh
来添加用户,如下命令:# 进入脚本目录
cd /opt/zbox/auth
# 执行添加用户的脚本
bash adduser.sh
This tool is used to add user to access adminer
Account: admin # 输入用户名
Password: # 输入密码
Adding password for user admin
1、系 统:默认选择MySQL。
2、服务器:127.0.0.1:MySQL端口
(MySQL端口启用的是3306,那么就填写127.0.0.1:3306。
注意:ip只能写127.0.0.1)
3、用户名:root(禅道默认的数据库用户名是root) 密 码:123456(禅道默认的数据库密码是123456) 数据库:zentao。
/opt/zbox/bin/mysql -u root -P MySQL端口 -p
(如:/opt/zbox/bin/mysql -u root -P 3306 -p)
/opt/zbox/bin/mysql -u root -P MySQL端口 -p 要导入的库名 < XXXX.sql (如:/opt/zbox/bin/mysql -u root -P 3306 -p zentao < zentao.sql)
# 请求地址:
http://172.18.126.87:80/zentao/api.php/v1/tokens
# 请求方式:
POST
# 请求参数:
{"account": "admin", "password": "Kenwaytest123456"}
测试计划-右键-添加-配置元件-HTTP信息头管理器
,如下:cpu
、内存、磁盘、网络等指标参数的浮动来衡量压测服务器的能力;jmeter
客户端集成jmeter-plugins-manager
插件,在服务端部署插件serverAgent
来实时监控被压测服务器的性能;Jmeter
;PerfMon(Servers Performance Monitoring)
选项,点击右下角的Apply Changes and Restart JMeter
按钮应用:对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件serverAgent来观察,可以实时监控性能指标。
进入到解压目录ServerAgent-2.2.3
下,直接运行./startAgent.sh
启动;
特别注意:
1、默认启动端口为4444;
2、也可以使用命令指定端口启动(例如将指定TCP为5678,UDP指定为6789):./startAgent.sh --tcp-port 5678--udp-port 6789--sysinfo
;
3、建议将此脚本写成shell脚本,授权chmod -R 777 XXX
之后下次直接启动脚本程序。
Windows
下cmd
执行以下命令,检查ServerAgent
代理端口:telnet 172.18.126.87 4444
sudo ufw allow 4444
jp@gc-PerfMon Metrics Collector
上进行指标选择;AddRow
,然后在host
的地方添加需要监控的服务器的主机域名或者IP
,port
填写端口,Metric to collect
下拉选择监控的指标(CPU、Memory、Swap、Disks I/O、Network I/O等)
ERROR: java.net.ConnectException: Connection refused: connect
,需要检查端口,ip是否正确,另外设置本地防火墙策略,参考Jmeter监控服务器资源报错问题ERROR;.jtl
结尾;D:\A_jmeter_test\report
;D:\A_jmeter_test\jtl
;D:\A_jmeter_test\登陆.jmx
;jmeter -n -t 脚本路径 -l jtl数据文件路径 -e -o 测试报告存放路径
jmeter -n -t D:\A_jmeter_test\登陆.jmx -l D:\A_jmeter_test\jtl\登陆.jtl -e -o D:\A_jmeter_test\report\
D:\A_jmeter_test\picture
;JMeterPluginsCMD.bat
,看下这个命令有没有问题:D:\apache-jmeter-5.3\bin\\..\lib\cmdrunner-2.2.jar
中的文件是否存在:cmdrunner-2.3.jar
而不是cmdrunner-2.2.jar
,则需要修改JMeterPluginsCMD.bat
文件;JMeterPluginsCMD.bat
文件在D:\apache-jmeter-5.3\bin
目录下:JMeterPluginsCMD.bat --generate-png 存放图片的路径 --input-jtl jtl数据文件路径 --plugin-type PerfMon --width 图片宽度 --height 图片高度
JMeterPluginsCMD.bat --generate-png D:\A_jmeter_test\picture\登陆.png --input-jtl D:\A_jmeter_test\jtl\登陆.jtl --plugin-type PerfMon --width 800 --height 600
csv
文件存放路径,比如:D:\A_jmeter_test\csv
;JMeterPluginsCMD.bat --tool Reporter --generate-csv 存放csv路径 --input-jtl 存放jtl数据文件路径 --plugin-type PerfMon
JMeterPluginsCMD.bat --tool Reporter --generate-csv D:\A_jmeter_test\csv\登陆.csv --input-jtl D:\A_jmeter_test\jtl\登陆.jtl --plugin-type PerfMon