说明:
为了防止遗忘,特将整理好的笔记记录下
单机版:
说明: 准备一台linux服务器,用root登录
创建目录:
mkdir /opt/app
cd /opt/app
将jemeter安装包目录中的 apache-jmeter-5.5.tgz 包上传到 /opt/app
tar -xf apache-jmeter-5.5.tgz
执行示例:
cd /opt/app/apache-jmeter-5.5/bin ./jmeter -n -t ./api接口测压.jmx -l result.log -e -o /opt/app/report
参数说明:
./jmeter -n -t ./api接口测压.jmx -l result.log -e -o /opt/app/report
-n: 以非GUI形式运行Jmeter
-t: api接口测压.jmx 脚本路径
-l: result.log 运行结果保存路径
-e:在脚本运行结束后生成html报告
-o:用于存放html报告的目录
集群版:
jmeter集群部署架构以一台window机器作为master(控制机),N台linux机器作为slave(执行机),如图所示(图片来源于网络)
1. 调整linux (如果大并发测试,最好调整下服务器限制)此步也可以不用执行
- 修改/etc/security/limits.conf文件
* soft nofile 65535
* hard nofile 65535
* soft nproc 32000
* hard nproc 32000
- 调整tcp连接参数
- 修改文件 /etc/systemd/system.conf ,分别修改以下内容。DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
4. 执行sysctl -p使参数生效
防火墙说明
Master服务器需要开通到slave服务器的1099,4000端口
Slave服务器需要开通到master的61009,61010,61011端口(端口是以下master配置的端口加1加2)
Slave服务器需提前开通至需要压测的待测系统防火墙
安装包说明
Window和linux 安装包:apache-jmeter-5.5.zip
Jdk1.8:
2. master安装
安装jdk
安装jmeter
登录master机器 将安装包apache-jmeter-5.5.zip放在指定目录( c:\jmeterworker)目录。解压apache-jmeter-5.5.zip, 进入jmeter安装包的bin目录,修改 jmeter.properties编辑文件
修改以下配置
1.remote_hosts改成slave的多台机器ip:1099,中间用逗号隔开并放开取消注释
2.server.rmi.ssl.disable=true 前面注释去掉并改为true
3.mode=Standard 前面注释去掉
注意:若测试吞吐量则需要注释,此项放开会造成吞吐量数值低
若需要查看每个slave的执行响应结果,则需要打开
4. client.rmi.localport=61009 前面注释去掉,并改端口为61009
以下指定的端口,需要开通slave到主机的端口+1,+2
3. slave安装jmeter
1. 用root用户登录slave服务器,创建/opt/myapp目录
2. 将apache-jmeter-5.5.zip 上传到 /opt/myapp目录并进行解压。
unzip -d apache-jmeter-5.5 apache-jmeter-5.5.zip
3. 修改配置
a. 进入jmeter安装包bin目录下/opt/myapp/apache-jmeter-5.5/bin,编辑 jmeter.properties文件,
将remote_hosts=修改为本机ip:port (server_port端口)并去掉#号,server_port=1099放开
server.rmi.ssl.disable=true 去掉#并修改为true
server.rmi.localport=4000去掉#并修改值为4000 。修改后保存文件
b. 依然是在bin目录下,编辑jmeter-server文件,找到如下位置,将hostname修改为本机ip
c. 在bin目录下,给脚本赋予执行权限
chmod +x *.sh
chmod +x jmeter-server jmeter mirror-server
4. 启动
Master:windows机器再解压包的bin目录下双击jmeter.bat启动,linux 用命令启动
Slave:/opt/myapp/apache-jmeter-5.5/bin/jmeter-server。(操作机执行前需提前启动)
5. 常见问题
1. 如果启动后报连接超时,可以把linux的防火墙关闭后重试
2. 三台slave的时间要一致,不然会影响吞吐量
3. windows环境下:若在启动Jmeter的时候,报错 Not able to find Java executable or version. Please check your Java installation。
只需要在 jmeter.bat文件 里面加上下面这两行即可(放在最前面就行):
SET JAVA_HOME=C:\Program Files\Java\jdk-1.8.0_40(这里是自己JDK的路径)
SET PATH=%SystemRoot%/system32;%SystemRoot%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
保存以后再次双击 jmeter.bat文件就可以打开Jmeter