安装
安装jmter
curl -O http://mirrors.hust.edu.cn/apache/jmeter/binaries/apache-jmeter- 4.0.tgz
tar -zvxf apache-jmeter-4.0.tgz -C /usr/local/
mv /usr/local/apache-jmeter-4.0 /usr/local/jmeter
ln –s /usr/local/jmeter/bin/jmeter.sh /usr/bin/jmeter # 建立软链接,可以省去配置 环境变量的步骤。
配置
如果不想使用上面第4行代码创建的软连接的方式,可以采用配置环境变量的方法
修改配置文件
vi /etc/profile
在该文件末尾添加下面的配置信息
#set jmeter environment
JMETER_HOME=/usr/local/jmeter CLASS_PATH=$CLASS_PATH:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOM E/lib/jorphan.jar
PATH=$PATH:$JMETER_HOME/bin
export JMETER_HOME CLASS_PATH PATH
完成后保存文件,使用下面的命令使修改生效
source /etc/profile
验证
任意目录下,测试jmeter
jmeter -v #查看jmeter版本
运行
执行jmeter测试任务
jmeter–n–tdemo.jmx–lreport.jtl
分布式运行
负载机
jmeter-server
问题解决:
- 本地ip错误
Server failed to start: java.rmi.RemoteException: Cannot start. jacky- vpc-centos is a loopback address.
An error occurred: Cannot start. jacky-vpc-centos is a loopback address.
#翻译
服务器无法启动:java.rmi.RemoteException:无法启动。 jacky-vpc-centos是回送地址。
发生错误:无法启动。 jacky-vpc-centos是回送地址。
解决方案一:
运行meter-server 命令时加入以下参数,指定负载机的本地ip
jmeter-server-Djava.rmi.server.hostname=172.16.1.183
解决方案二:
修改meter-server文件,执行命令
vi /usr/local/apache-jmeter-4.0/bin/jmeter-server
修改文件内容如下:
#RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
将上面这行内容修改为
RMI_HOST_DEF=-Djava.rmi.server.hostname=172.16.1.183
保存文件,重新执行命令即可
jmeter-server
-
jmeter 4.0版本可能遇到的RMI错误
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory) An error occurred: Listen failed on port: 0; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory) #翻译 服务器无法启动:java.rmi.server.ExportException:在端口0上侦听失败; 嵌套的异常是: java.io.FileNotFoundException:rmi_keystore.jks(无此类文件或目录) 发生错误:端口0监听失败; 嵌套的异常是:java.io.FileNotFoundException:rmi_keystore.jks(无此类文件或 目录)
解决方法一:
此问题是由于从4.0版本开始,RMI的默认传输机制使用SSL,SSL需要密钥和证书才能工作,所以需要自己创建中和谐密钥
/usr/local/apache-jmeter-4.0/bin/create-rmi-keystore.sh
按照屏幕提示填写,全部填写完成后输入Y确认。最后会在Jmeter的bin目录下自动生成 rmi_keystore.jks密钥文件
完成后重新执行下面命令即可jmeter-server
解决方案二:
也可以通过修改jmeter.properties文件禁用SSL来解决
vi/usr/local/apache-jmeter-4.0/bin/jmeter.properties
修改内容如下
#server.rmi.ssl.disable=false 将上面这行内容修改为 server.rmi.ssl.disable=true
完成后重新运行jmeter-server
jmeter-server
如果负载机操作系统是windows系统,还可能遇到下面的错误
May 22, 2018 11:07:23 AM java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RefCreateKeyEx(...) returned error code 5. Created remote object: UnicastServerRef2 [liveRef: [endpoint: [192.168.1.176:51382] (local),objID:[-5bc7fd7d:16385d0cd81:-7fff, 3855421039843900718]]] #翻译 2018年5月22日,上午11:07:23 java.util.prefs.WindowsPreferences <init>警告:无法在根0x80000002处打开/创建prefs根节点Software \ JavaSoft \ Prefs。 Windows RefCreateKeyEx(...)返回了错误代码5。创建的远程对象:UnicastServerRef2 [liveRef:[端点:[192.168.1.176:51382] (本地),objID:[-5bc7fd7d:16385d0cd81:-7fff,3855421039843900718]]]]
错误原因:
Jmeter未注册表项
解决方案:
以系统管理员身份运行程序的时候会自动创建注册表相关项,所以用管理 员身份运行jmeter- server.bat即可。
主控机
两种方式
1. 修改jmeter.properties文件
在“remote_hosts”关键字后面加上远程jmeter负载机的ip即可,ip之间用 逗号隔开
remote_hosts=172.16.1.101,172.16.1.102,172.16.1.103
-
命令行直接带参数方式
Jmeter–n–t/opt/test.jmx–l/opt/test.jtl–R 192.168.1.100:1099,192.168.1.101:1099 –X
-