深圳宝安上市公司网站建设报价,网站开发后端论文,如何创建网站内容,告白墙 wordpress『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程 1 JDK安装部署1.1 JDK下载1.2 JDK配置 2 Jmeter安装部署2.1 Jmeter下载2.2 Jmeter安装2.3 Jmeter相关目录配置2.4 Jmeter启动配置2.5 检查并启动 3 Jmeter汉化3.1 临时修改3.2 永久修改 4 准备测… 『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程 1 JDK安装部署1.1 JDK下载1.2 JDK配置 2 Jmeter安装部署2.1 Jmeter下载2.2 Jmeter安装2.3 Jmeter相关目录配置2.4 Jmeter启动配置2.5 检查并启动 3 Jmeter汉化3.1 临时修改3.2 永久修改 4 准备测试对象4.1 下载安装4.2 启动服务4.3 访问测试对象4.4 注意事项4.5 其他参数4.6 网页登录数据库 5 测试数据6 测试目标7 脚本设计7.1 添加http信息头管理器7.2 添加http请求默认值7.3 添加线程组7.4 添加http请求7.5 添加查看结果树7.6 运行调试 8 安装jmeter-plugins-manager插件8.1 jmeter-plugins-manager包配置8.2 下载PerfMon插件并应用8.3 添加PerfMon监听器 9 服务端配置ServerAgent9. 1下载ServerAgent9.2配置ServerAgent 10 Jmeter配置监控指标11 GUI方式运行12 非GUI运行12.1 安装jmeter-plugins-cmd插件12.2 命令行启动性能脚本 13 报告查看14 命令行生成监控图片15 命令行生成csv文件 注意 1、之前写过一个是windows平台的本文是Linux平台的 2、另外需要注意的是本文仅为示例过程所以将客户端和服务器都用在同一台机器上。一般情况下不建议这么做会影响性能结果的准确性。 1 JDK安装部署
1.1 JDK下载
安装地址Java Downloads先查看自己的系统配置
noamanelsonnoamanelson-Virtual-Machine:~$ uname -a
Linux noamanelson-Virtual-Machine 6.2.0-36-generic #37~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 9 15:34:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux我的是x86_64选对应的包即可 1.2 JDK配置
将下载的包上传到服务器 创建一个文件夹
sudo mkdir /usr/local/java把压缩包放到以上目录进行解压
sudo tar -zxvf jdk-21_linux-x64_bin.tar.gz 解压后删除多余的其他安装包解压后如下 配置环境变量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官网选择文件下载
2.2 Jmeter安装
将下载的Jmeter上传到服务器 创建Jmeter目录
mkdir jmeter_test查看安装包的权限并赋予执行权限
chmod 755 apache-jmeter-5.6.2.tgz解压到当前目录下
tar -zxvf apache-jmeter-5.6.2.tgz 2.3 Jmeter相关目录配置
解压后如下即安装目录为
# /home/noamanelson/jmeter_test/apache-jmeter-5.6.2创建脚本存放目录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_result2.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/profile2.5 检查并启动
输入jmeter -v如果出现以下内容说明安装成功了
noamanelsonnoamanelson-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.2Copyright (c) 1999-2023 The Apache Software Foundation
输入jmeter启动即可
3 Jmeter汉化
3.1 临时修改
即设置后只对本次使用有效重启后恢复默认语言选择Options—Choose Language—选择语言例如ChineseSimplified简体中文设置成功。重启Jmeter又会恢复英文
3.2 永久修改
即永久性设置设置后每次打开显示的语言都是一样的进入到Jmeter的bin目录下找到jmeter.properties文档打开查找language找到languageen的行如下图将en改为zh_CN并且去掉前面的#号保存退出
vim jmeter.properties 重启jmeter语言设置成功。
4 准备测试对象
4.1 下载安装
禅道官网找到Linux一键安装包 点击下载后使用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 4.2 启动服务
禅道服务包括Apache和Mysql启动命令如下启动所有服务/opt/zbox/zbox start 停止所有服务/opt/zbox/zbox stop重启所有服务/opt/zbox/zbox restart开机自动启动以把 /opt/zbox/zbox restart 加到操作系统的自启目录。
4.3 访问测试对象
禅道安装完并启动服务后直接浏览器输入
http://禅道服务器ip:apache端口。特别注意这里需要开放几个端口 1、sudo ufw status查看开放的端口 2、开放需要的端口sudo ufw allow 端口 4.4 注意事项
如果网页无法访问请先关闭禅道所在电脑的防火墙和selinux再刷新网页访问试一下使用云服务器请注意在安全组中开放apache使用端口禅道默认管理员帐号是 admin密码 123456;初次登陆请修改密码
4.5 其他参数
如果不加任何参数执行 /opt/zbox/zbox 会打印输出命令可用参数Usage: ./zbox {start|stop|status} [--aport8080] [--mport3307] –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端口 点击“数据库管理” 输入用户名和密码 网页直接显示登录界面 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信息头管理器如下
7.2 添加http请求默认值
测试计划-右键-添加-配置元件-HTTP请求默认值如下
7.3 添加线程组
测试计划-右键-添加-线程用户-线程组如下
7.4 添加http请求
线程组-右键-添加-取样器-http请求如下
7.5 添加查看结果树
测试计划-右键-添加-监听器-查看结果树如下
7.6 运行调试
点击运行按钮查看返回数据是否ok如下
8 安装jmeter-plugins-manager插件
8.1 jmeter-plugins-manager包配置
可以通过在jmeter客户端集成jmeter-plugins-manager插件在服务端部署插件serverAgent来实时监控被压测服务器的性能下载插件管理包 放置到jmeter的安装目录lib\ext下
8.2 下载PerfMon插件并应用
重启Jmeter点击选项-插件管理器 PerfMon(Servers Performance Monitoring)选项点击右下角的Apply Changes and Restart JMeter按钮应用 安装完后如下
8.3 添加PerfMon监听器
测试计划-右键-添加-监听器-jpgc-PerfMon Metrics Collector,如下
9 服务端配置ServerAgent
9. 1下载ServerAgent
下载ServerAgent-2.2.3.zip下载官网地址
9.2配置ServerAgent
下载后上传到linux上并解压
sudo unzip ServerAgent-2.2.3.zi进入到解压目录ServerAgent-2.2.3下直接运行./startAgent.sh 启动 特别注意 1、默认启动端口为4444 2、也可以使用命令指定端口启动例如将指定TCP为5678UDP指定为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配置监控指标
在jpgc-PerfMon Metrics Collector上进行指标选择点击AddRow然后在host的地方添加需要监控的服务器的主机域名或者IPport填写端口Metric to collect下拉选择监控的指标CPU、Memory、Swap、Disks I/O、Network I/O等
11 GUI方式运行
直接运行脚本即可
12 非GUI运行
性能测试时建议使用这种方式可以提升性能这种方法运行时将监控数据输出到指定文件文件必修是.jtl结尾
12.1 安装jmeter-plugins-cmd插件
在插件管理器中勾选如图即可
12.2 命令行启动性能脚本
我们之前已经创建了脚本、报告等的存放路径
# /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 run13 报告查看
打开报告存放路径比如
/home/noamanelson/jmeter_test/jmeter_report14 命令行生成监控图片
新建存放图片的路径比如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文件 JMeterPluginsCMD.sh文件在/home/noamanelson/jmeter_test/apache-jmeter-5.6.2/bin目录下 修改为cmdrunner-2.3.jar 完整的执行命令如下
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 60015 命令行生成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生成后如下