本文主要描述在linux服务器中使用jmeter进行压测的流程以及参数配置说明,包含jdk安装,jmeter安装,jmeter插件安装,jmeter主从搭建,报告生成以及部分问题排查
背景:系统即将进行大规模测评,涉及场景包含15万人同时打开问卷答题,在答完之后提交,基于系统稳定性考虑计划进行压测
1.jdk安装
因为jmeter是基于java开发的,所以运行必须先安装java环境,本文使用openjdk26作为演示
下载完成后将jdk包上传到linux服务器,并解压,一般是/opt目录
然后配置系统jdk路径
vi /etc/profile
#将如下内容添加到文件末尾
export JAVA_HOME=/opt/java26/jdk-26
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#然后重载配置文件
source /etc/profile
#验证,正确输出版本号即为成功
java -version
2.jmeter安装
下载地址:https://jmeter.apache.org/download_jmeter.cgi
注意不要下载错了,linux服务器应该对应binaries版本
下载之后上传到linux服务器,并解压,一般是/opt目录
然后配置jmeter路径
vi /etc/profile
#将如下配置添加到文件末尾,路径改为你自己的路径
export JMETER_HOME=/opt/jmeter/apache-jmeter-5.6.3
export PATH=${JMETER_HOME}/bin:$PATH
#重载配置文件
source /etc/profile
#验证,进入jmeter的bin目录下 输入以下命令,正常输出版本号即为成功
./jmeter -v
3.jmeter插件安装,jmeter自带配置比较少,如果需要更加复杂一些的场景配置就需要安装额外的插件
下载地址:https://jmeter-plugins.org/
搜索需要的插件,并下载jar包,一般jar里面都包含cmn和manager这两个,是jmeter的插件管理包,需要一起下载,多个插件这两个包只安装一次即可


将这三个包上传到linux服务器,并放在刚才安装的jmeter目录的lib/ext目录下即可
4.jmeter主从集群搭建
准备多台linux服务器,并安装同版本同插件的jemeter和jdk,安装步骤参考上文
保证主从机器网络及端口通畅,主要是1099,50000端口,防火墙开启端口
# CentOS 示例
firewall-cmd --permanent --add-port=1099/tcp
firewall-cmd --permanent --add-port=50000/tcp
firewall-cmd --reload
修改slave配置文件,编辑 $JMETER_HOME/bin/jmeter.properties:
# 1. 设置 RMI 端口(固定端口,防止随机端口被防火墙拦截)
server_port=1099
# 2. 禁用 SSL(内网测试环境简化配置,生产环境建议开启)
server.rmi.ssl.disable=true
# 3. (可选) 指定本机 IP,防止 RMI 绑定到错误网卡
# 也可以在启动命令中指定,见下文
# server.rmi.localport=1099
启动slave
cd $JMETER_HOME/bin
# 赋予执行权限(如果提示权限不足)
chmod +x jmeter-server
# 启动服务,指定本机 IP(非常重要,防止 Master 连不上)
./jmeter-server -Djava.rmi.server.hostname=<Slave的IP地址>
修改master配置文件,编辑 $JMETER_HOME/bin/jmeter.properties:
# 1. 填写所有 Slave 的 IP 和端口
# 格式:IP1:端口,IP2:端口
remote_hosts=<slave1_ip>:1099,<slave2_ip>:1099,<slave3_ip>:1099
# 2. 禁用 SSL
server.rmi.ssl.disable=true
5.开始压测
在windows上配置好jmeter,并导出jmx文件,上传到linux

在master上执行压测命令
cd $JMETER_HOME/bin
./jmeter -n -t /opt/jmeter/Test_Plan.jmx -R <slave1_ip>,<slave1_ip>, -l /opt/jmeter/result.jtl
输出如下即为启动成功,会输出压测过程中的简要信息可辅助进行分析

压测完成后会生成result.jtl文件,该文件是压测结果信息,可通过一下命令生成压测报告
./jmeter -g /opt/jmeter/result.jtl -o /root/jmeter_report
报告页面如下,注意执行压测和生成报告命令时要保证输出文件result.jtl和jmeter_report目录是空的,否则无法执行

如下是失败的情况,请检查slave是否启动成功,slave多次启动可能报端口被占用,需要先杀掉进程再重新启动

下一篇将根据场景进行压测参数配置,系统调优,结果查看
691



被折叠的 条评论
为什么被折叠?



