『Jmeter超等干货』| Linux下Jmeter安装配置、脚本设计执行、监控及陈诉完
注意:1、之前写过一个是windows平台的,本文是Linux平台的;
2、另外必要注意的是,本文仅为示例过程,以是将客户端和服务器都用在同一台机器上。一般情况下不建议这么做,会影响性能效果的准确性。
1 JDK安装摆设
1.1 JDK下载
[*]安装地址:Java Downloads;
[*]先检察自己的系统配置:
noamanelson@noamanelson-Virtual-Machine:~$ uname -a
Linux noamanelson-Virtual-Machine 6.2.0-36-generic #37~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct9 15:34:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
[*]我的是x86_64,选对应的包即可:
https://img-blog.csdnimg.cn/direct/2514430b75624b6f8d482c2e2871cb80.png
1.2 JDK配置
[*]将下载的包上传到服务器:
https://img-blog.csdnimg.cn/direct/f7927bb9461f42f3b97a1fcc01ac88da.png
[*]创建一个文件夹:
sudo mkdir /usr/local/java
[*]把压缩包放到以上目录进行解压:
https://img-blog.csdnimg.cn/direct/fc410efe7fb54e23ae00a077826f067a.png
sudo tar -zxvf jdk-21_linux-x64_bin.tar.gz
[*]解压后删除多余的其他安装包,解压后如下:
https://img-blog.csdnimg.cn/direct/69939163262a4e8783ba72a6ed4da1b8.png
[*]配置环境变量sudo vim /etc/profile,增加java解压后的路径即可:
export JAVA_HOME=/usr/local/java/jdk-21.0.1
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
[*]生存后,使配置文件见效(以下方法如果不行,建议重启电脑):
source /etc/profile
[*]使用java -version检察安装是否ok即可。
2 Jmeter安装摆设
2.1 Jmeter下载
[*]下载地址:Jmeter官网;
[*]选择文件下载:
https://img-blog.csdnimg.cn/direct/5a6f546b591b4e5c9ca45646314ff96b.png
2.2 Jmeter安装
[*]将下载的Jmeter上传到服务器:
https://img-blog.csdnimg.cn/direct/5f60dd7a06ae4544ad80c2654e0bb50e.png
[*]创建Jmeter目录:
mkdir jmeter_test
[*]检察安装包的权限并赋予执行权限:
https://img-blog.csdnimg.cn/direct/dfe5f4f8accb47308240b62d3db02eb9.png
chmod +755 apache-jmeter-5.6.2.tgz
https://img-blog.csdnimg.cn/direct/c5d8656b06c143aabf9025d96587c68e.png
[*]解压到当前目录下:
tar -zxvf apache-jmeter-5.6.2.tgz
2.3 Jmeter干系目录配置
[*]解压后如下,即安装目录为:
# /home/noamanelson/jmeter_test/apache-jmeter-5.6.2
https://img-blog.csdnimg.cn/direct/3660a7e7753e4debae2e401aefcd2942.png
[*]创建脚本存放目录jmeter_scirpt:
# /home/noamanelson/jmeter_test/jmeter_scirpt
mkdir jmeter_scirpt
[*]创建陈诉存放目录jmeter_report:
# /home/noamanelson/jmeter_test/jmeter_report
mkdir jmeter_report
[*]创建日志存放目录jmeter_log:
# /home/noamanelson/jmeter_test/jmeter_log
mkdir jmeter_log
[*]创建效果存放目录jmeter_result:
# /home/noamanelson/jmeter_test/jmeter_result
mkdir jmeter_result
2.4 Jmeter启动配置
[*]打开配置文件sudo vim /etc/profile,末了添加如下内容:
export JMETER_HOME=/home/noamanelson/jmeter_test/apache-jmeter-5.6.2
exportCLASSPATH=${JMETER_HOME}/lib/ext/ApacheJMeter_core.jar:${JMETER_HOME}/lib/jorphan.jar:${CLASSPATH}
export PATH=${JMETER_HOME}/bin:$PATH
[*]使得配置文件见效(以下方法如果不行,建议重启电脑):
source /etc/profile
2.5 查抄并启动
[*]输入jmeter -v,如果出现以下内容,分析安装成功了:
noamanelson@noamanelson-Virtual-Machine:~$ jmeter -v
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
_ ____ _ ____ _ _ _____ _ ____ _____ _____ _____ ____
/ \|_ \ / \/ ___| | | | ____| | |\/| ____|_ _| ____|_ \
/ _ \ | |_) / _ \| | | |_| |_| _| | |\/| |_| | | |_| | |_) |
/ ___ \|__/ ___ \ |___|_| |___| |_| | || | |___| | | |___|_ <
/_/ \_\_| /_/ \_\____|_| |_|_____|\___/|_||_|_____| |_| |_____|_| \_\ 5.6.2
Copyright (c) 1999-2023 The Apache Software Foundation
[*]输入jmeter启动即可:
https://img-blog.csdnimg.cn/direct/45802203bd6940e8ae3ba2d8f83ea96b.png
https://img-blog.csdnimg.cn/direct/c3e1f25be50b4045948c103ce645b0d3.png
3 Jmeter汉化
3.1 临时修改
[*]即设置后只对本次使用有效,重启后恢复默认语言;
[*]选择Options—>Choose Language—>选择语言(例如:Chinese(Simplified)简体中文)设置成功。重启Jmeter又会恢复英文;
https://img-blog.csdnimg.cn/direct/f696f7f6d9b94b6b92b22a97d15ca889.png
3.2 永世修改
[*]即永世性设置,设置后每次打开显示的语言都是一样的;
[*]进入到Jmeter的bin目录下,找到jmeter.properties文档;
[*]打开查找language,找到language=en的行如下图,将en改为zh_CN,而且去掉前面的#号,生存退出;
vim jmeter.properties
https://img-blog.csdnimg.cn/direct/c3431a3d814747478d1b8e636b099f5c.png
[*]重启jmeter,语言设置成功。
https://img-blog.csdnimg.cn/direct/efe7ec14081c46d1a346749f67a9d602.png
4 准备测试对象
4.1 下载安装
[*]禅道官网找到Linux一键安装包:
https://img-blog.csdnimg.cn/direct/8228826a91d84c6d98bf14ae2bd8f1ab.png
[*]点击下载后,使用xftp上传到ubuntu上;
[*]把上传到ubuntu上的禅道安装包复制到/opt目录下:
sudo cp ZenTaoPMS-18.8-zbox_amd64.tar.gz /opt/
[*]将安装包直接解压到/opt目录下:
sudo tar -zxvf ZenTaoPMS-18.8-zbox_amd64.tar.gz
https://img-blog.csdnimg.cn/direct/9cac2aa2d3b346009b8d4c4e82f3b83f.png
4.2 启动服务
[*]禅道服务包罗Apache和Mysql,启动下令如下;
[*]启动所有服务:/opt/zbox/zbox start;
https://img-blog.csdnimg.cn/direct/6f9c4887880b40268fba11344e887a6b.png
[*]制止所有服务:/opt/zbox/zbox stop;
[*]重启所有服务:/opt/zbox/zbox restart;
[*]开机自动启动:以把 /opt/zbox/zbox restart 加到操作系统的自启目录。
4.3 访问测试对象
[*]禅道安装完并启动服务后,直接浏览器输入:
http://禅道服务器ip:apache端口。
特别注意:这里必要开放几个端口:
https://img-blog.csdnimg.cn/direct/d0318c99867c40c08ac60e14a15ad9ca.png
1、sudo ufw status检察开放的端口:
https://img-blog.csdnimg.cn/direct/e2edb3a1055f4aaea16f98db1b183063.png
2、开放必要的端口:sudo ufw allow 端口
https://img-blog.csdnimg.cn/direct/31980203f9744ce8a6067492f1f06994.png
https://img-blog.csdnimg.cn/direct/ef1f5a40efe34bc1b30c8a77a6ec0643.png
4.4 注意事项
[*]如果网页无法访问,请先关闭禅道所在电脑的防火墙和selinux再革新网页访问试一下;
[*]使用云服务器请注意在安全组中开放apache使用端口;
[*]禅道默认管理员帐号是 admin,密码 123456;
[*]初次登岸请修改密码:
https://img-blog.csdnimg.cn/direct/3c716415ada24169bb5cd6bdd6790986.png
4.5 其他参数
[*]如果不加任何参数执行 /opt/zbox/zbox 会打印输出下令可用参数:
[*]Usage: ./zbox {start|stop|status} [--aport=8080] [--mport=3307]
–aport参数 可以修改Apache的端口
–mport参数 可以修改Mysql的端口
4.6 网页登录数据库
[*]禅道数据库管理用的是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
[*]打开浏览器,输入 http://禅道服务的ip:apache端口 点击“数据库管理”:
https://img-blog.csdnimg.cn/direct/aea29f5b12314200809f4ed6ed4640f8.png
[*]输入用户名和密码:
https://img-blog.csdnimg.cn/direct/d28777fe9c0645609a510b778c225c52.png
[*]网页直接显示登录界面:
https://img-blog.csdnimg.cn/direct/0645daba61834bf1a4b3725067a146b0.png
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。
5 测试数据
[*]将以下数据中的地址、用户名等参数改为自己的即可:
# 请求地址:
http://172.26.132.77:80/zentao/api.php/v1/tokens
# 请求方式:
POST
# 请求参数:
{"account": "admin", "password": "123456"}
6 测试目的
[*]使用登岸接口,对登岸接口进行压测;
[*]并发20,连续时间为5分钟。
7 脚本设计
7.1 添加http信息头管理器
[*]测试计划-右键-添加-配置元件-HTTP信息头管理器,如下:
https://img-blog.csdnimg.cn/direct/0962efad88b2463897624c2bcf85e1f9.png
https://img-blog.csdnimg.cn/direct/5230943c118b4c368c4e6587396862fc.png
7.2 添加http哀求默认值
[*]测试计划-右键-添加-配置元件-HTTP哀求默认值,如下:
https://img-blog.csdnimg.cn/direct/78176a69302d4d2bb4e16f64e2f6110e.png
https://img-blog.csdnimg.cn/direct/39f330d348414f8fb5587f1d1b8002d8.png
7.3 添加线程组
[*]测试计划-右键-添加-线程(用户)-线程组,如下:
https://img-blog.csdnimg.cn/direct/bea2141d06eb4abbba2b32c68b2b67ba.png
https://img-blog.csdnimg.cn/direct/1b862da351464bc9b17a867b5591c4d0.png
7.4 添加http哀求
[*]线程组-右键-添加-取样器-http哀求,如下:
https://img-blog.csdnimg.cn/direct/9538ecaf07444e50b77ed7ed7b95f135.png
https://img-blog.csdnimg.cn/direct/792a30b6a54448088c4dde8bc9dc8fed.png
7.5 添加检察效果树
[*]测试计划-右键-添加-监听器-检察效果树,如下:
https://img-blog.csdnimg.cn/direct/b0756e3e71464292b29b2cd76a10aa19.png
7.6 运行调试
[*]点击运行按钮,检察返回数据是否ok,如下:
https://img-blog.csdnimg.cn/direct/780132d016c7473b8c00a21f7e464171.png
https://img-blog.csdnimg.cn/direct/583dd5b3908f459b82e8787dbb08a26d.png
https://img-blog.csdnimg.cn/direct/7f7ac41db5ad40adb4a65473eb1e4dad.png
8 安装jmeter-plugins-manager插件
8.1 jmeter-plugins-manager包配置
[*]可以通过在jmeter客户端集成jmeter-plugins-manager插件,在服务端摆设插件serverAgent来实时监控被压测服务器的性能;
[*]下载插件管理包:
https://img-blog.csdnimg.cn/direct/988882cc3ba548c4bed7f254f84cab09.png
[*]放置到jmeter的安装目录lib\ext下:
https://img-blog.csdnimg.cn/direct/761eef41369d4350a3ca1e5432e52463.png
8.2 下载PerfMon插件并应用
[*]重启Jmeter,点击选项-插件管理器:
https://img-blog.csdnimg.cn/direct/2d18e891b4264ebab62459b8785793e1.png
[*]PerfMon(Servers Performance Monitoring)选项,点击右下角的Apply Changes and Restart JMeter按钮应用:
https://img-blog.csdnimg.cn/direct/a87a52655ed54de0a0cfff3c768dfa34.png
[*]安装完后如下:
https://img-blog.csdnimg.cn/direct/3d86465669a54caf9ede733620772c9f.png
8.3 添加PerfMon监听器
[*]测试计划-右键-添加-监听器-jp@gc-PerfMon Metrics Collector,如下:
https://img-blog.csdnimg.cn/direct/1cc54fcc528944fab097ab9f29506f0f.png
9 服务端配置ServerAgent
9. 1下载ServerAgent
[*]下载ServerAgent-2.2.3.zip,下载官网地址;
https://img-blog.csdnimg.cn/direct/47706ba39ad54db2829ce9eadf6ec932.png
9.2配置ServerAgent
[*]下载后上传到linux上,并解压:
sudo unzip ServerAgent-2.2.3.zi
[*]进入到解压目录ServerAgent-2.2.3下,直接运行./startAgent.sh 启动;
https://img-blog.csdnimg.cn/direct/9f30aefc8f464bdbbfdc62417c895fc4.png
特别注意:
1、默认启动端口为4444;
2、也可以使用下令指定端口启动(例如将指定TCP为5678,UDP指定为6789):./startAgent.sh --tcp-port 5678--udp-port 6789--sysinfo;
3、建议将此脚本写成shell脚本,授权chmod -R 777 XXX 之后下次直接启动脚本程序。
4、如果提示无法毗连到4444端口,必要开放4444端口:sudo ufw allow 4444
10 Jmeter配置监控指标
[*]在jp@gc-PerfMon Metrics Collector上进行指标选择;
[*]点击AddRow,然后在host的地方添加必要监控的服务器的主机域名或者IP,port填写端口,Metric to collect下拉选择监控的指标(CPU、Memory、Swap、Disks I/O、Network I/O等):
https://img-blog.csdnimg.cn/direct/7d91e657f87c431bb5739a80a61cedfa.png
11 GUI方式运行
[*]直接运行脚本即可:
https://img-blog.csdnimg.cn/direct/7ec73b464f7f44f9a1d86bac6ba2a037.png
12 非GUI运行
[*]性能测试时建议使用这种方式可以提拔性能;
[*]这种方法运行时将监控数据输出到指定文件,文件必修是.jtl结尾;
12.1 安装jmeter-plugins-cmd插件
[*]在插件管理器中勾选如图即可:
https://img-blog.csdnimg.cn/direct/48269a8335af49f3af043a0f95f849c5.png
12.2 下令行启动性能脚本
[*]我们之前已经创建了脚本、陈诉等的存放路径:
https://img-blog.csdnimg.cn/direct/3240d7d48fac4846a55c32297f2781b2.png
# /home/noamanelson/jmeter_test/jmeter_scirpt# 脚本路径
# /home/noamanelson/jmeter_test/jmeter_report
# 报告路径
# /home/noamanelson/jmeter_test/jmeter_log # 日志路径
# /home/noamanelson/jmeter_test/jmeter_result# 结果路径
[*]下令行执行脚本下令为:
jmeter -n -t 脚本路径 -l jtl数据文件路径 -e -o 测试报告存放路径
[*]创建示例:
jmeter -n -t \
./jmeter_scirpt/test_login.jmx -l \
./jmeter_result/test_login.jtl -e -o \
./jmeter_report/
Creating summariser <summary>
Created the tree successfully using ./jmeter_scirpt/test_login.jmx
Starting standalone test @ 2023 Nov 30 16:15:44 CST (1701332144880)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 1133 in 00:00:15 = 76.4/s Avg: 247 Min: 62 Max:3045 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary + 2442 in 00:00:30 = 81.7/s Avg: 245 Min: 108 Max:1383 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary = 3575 in 00:00:45 = 80.0/s Avg: 245 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2585 in 00:00:30 = 86.2/s Avg: 231 Min: 117 Max: 616 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary = 6160 in 00:01:15 = 82.4/s Avg: 240 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2509 in 00:00:30 = 83.6/s Avg: 238 Min: 97 Max:1172 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary = 8669 in 00:01:45 = 82.8/s Avg: 239 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2644 in 00:00:30 = 88.0/s Avg: 227 Min: 92 Max: 826 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary =11313 in 00:02:15 = 84.0/s Avg: 236 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2606 in 00:00:30 = 87.0/s Avg: 229 Min: 101 Max: 985 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary =13919 in 00:02:45 = 84.5/s Avg: 235 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2656 in 00:00:30 = 88.5/s Avg: 226 Min: 110 Max:1042 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary =16575 in 00:03:15 = 85.1/s Avg: 233 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2656 in 00:00:30 = 88.5/s Avg: 225 Min: 113 Max:1199 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary =19231 in 00:03:45 = 85.6/s Avg: 232 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2724 in 00:00:30 = 90.8/s Avg: 220 Min: 108 Max:1299 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary =21955 in 00:04:15 = 86.2/s Avg: 231 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 2676 in 00:00:30 = 89.2/s Avg: 223 Min: 88 Max:1357 Err: 0 (0.00%) Active: 20 Started: 20 Finished: 0
summary =24631 in 00:04:45 = 86.5/s Avg: 230 Min: 62 Max:3045 Err: 0 (0.00%)
summary + 1407 in 00:00:16 = 90.6/s Avg: 221 Min: 127 Max:1441 Err: 0 (0.00%) Active: 0 Started: 20 Finished: 20
summary =26038 in 00:05:00 = 86.7/s Avg: 230 Min: 62 Max:3045 Err: 0 (0.00%)
Tidying up ... @ 2023 Nov 30 16:20:45 CST (1701332445534)
... end of run
13 陈诉检察
[*]打开陈诉存放路径,比如:
/home/noamanelson/jmeter_test/jmeter_report
https://img-blog.csdnimg.cn/direct/d8bdb92c2479465c867726ea8eb96277.png
https://img-blog.csdnimg.cn/direct/a587578b71b54bf3a9d2f22cc028f9e1.png
14 下令行生成监控图片
[*]新建存放图片的路径,比如mkdir jmeter_picture:
/home/noamanelson/jmeter_test/jmeter_picture
[*]下令行先执行JMeterPluginsCMD.sh,看下这个下令有没有题目:
$ JMeterPluginsCMD.sh
Error: Unable to access jarfile /home/noamanelson/jmeter_test/apache-jmeter-5.6.2/bin/../lib/cmdrunner-2.2.jar
[*]发现这个文件找不到,我们看下图片中的/home/noamanelson/jmeter_test/apache-jmeter-5.6.2/bin/../lib/cmdrunner-2.2.jar中的文件是否存在:
/home/noamanelson/jmeter_test/apache-jmeter-5.6.2/lib
[*]效果发现是cmdrunner-2.3.jar而不是cmdrunner-2.2.jar,则必要修改JMeterPluginsCMD.sh文件;
https://img-blog.csdnimg.cn/direct/3a9a676194024876accc25f053073bec.png
[*]JMeterPluginsCMD.sh文件在/home/noamanelson/jmeter_test/apache-jmeter-5.6.2/bin目录下:
https://img-blog.csdnimg.cn/direct/3aefb20910fb4e4c9acaaa47f31550b8.png
[*]修改为cmdrunner-2.3.jar:
https://img-blog.csdnimg.cn/direct/abb7ee859ac84d6e91188c0abb80f9fd.png
[*]完整的执行下令如下:
JMeterPluginsCMD.sh --generate-png 存放图片的路径 --input-jtl jtl数据文件路径 --plugin-type PerfMon --width 图片宽度 --height 图片高度
[*]示例如下:
JMeterPluginsCMD.sh \
--generate-png ./jmeter_picture/test_login.png \
--input-jtl ./jmeter_result/test_login.jtl \
--plugin-type PerfMon --width 800 --height 600
https://img-blog.csdnimg.cn/direct/aa75b9cee76d4cee831d5f586c6b76eb.png
15 下令行生成csv文件
[*]创建csv文件存放路径,比如/home/noamanelson/jmeter_test/jmeter_csv :
mkdir jmeter_csv
[*]执行的下令为:
JMeterPluginsCMD.sh --tool Reporter --generate-csv 存放csv路径 --input-jtl 存放jtl数据文件路径 --plugin-type PerfMon
[*]示例如下:
JMeterPluginsCMD.sh \
--tool Reporter \
--generate-csv ./jmeter_csv/test_login.csv \
--input-jtl ./jmeter_result/test_login.jtl \
--plugin-type PerfMon
[*]生成后如下:
https://img-blog.csdnimg.cn/direct/efea69bceb0443b5bda1f6fd7c46ff17.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]