最近再搞Linux下jmeter得部署,所以记录一下本次得操作,主要是为了实现远程调用Linux系统下得jmeter服务。
总共分几步:
1、安装Java-JDK
2、安装jmeter
3、配置jmeter
现在详细得说下我得过程,真的是个艰辛得历程。
1、Java 环境,很多教程的,我就不说了;
2、jmeter的安装:
新建文件夹,存放jmeter压缩文件,
下载jmeter,
wget http://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.zip
如果没有wget命令,可以在windows下载后上传,也可以使用yum命令进行安装wget;
下载中的界面如下:
下载后使用unzip解压,(此处我本地使用的4.0版本,之前使用的5.1,运行不起,就改为4.0了,具体的原因我也不清楚,哈哈)
使用 vim 命令进行环境变量设置:vim /etc/profile 输入:
export JMETER_HOME=/opt/jmeter/apache-jmeter-4.0 export PATH=$JMETER_HOME/bin:$PATH export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
其中opt/jmeter我在opt目录下新建的jmeter目录,方便进行管理;
修改后使用source /etc/profile 让文件生效,输入jmeter -V ,如果界面打印出apache jmeter的大大的字样,那就是安装成功啦。
下面就是我们操作了,首先我们需要脚本,在本地将脚本编写好 设置好后,上传至jmeter目录下,然后执行命令:
jmeter -n -t estimatePrice.jmx -l result.jtl
参数说明:
-n 在非GUI模式下运行JMeter
-t 要运行的JMeter测试脚本文件
-l 记录结果的文件
执行完后,可以看到文档目录下多了一个result.jtl文件,在本地使用聚合报告将此文件打开,即可看见运行结果数据。
以上就是jmeter安装完成并单机执行成功的效果,
下面就说一下添加压力机的操作,其中我还是遇到了很多坑,有很多报错的地方,在这里我记录下来避免以后我再次执行的时候不长脑袋。
首先本次我使用的环境是本地Windows、远程Linux,
1、在本地中找到文件jmeter.server 在jmeter的bin目录下,
修改本地jmeter.server文件中remote_hosts=127.0.0.1,XXXXXXXXX:1099
其中你有几台压力机就添加几个IP,
2、修改Linux系统下jmeter中bin目录jmeter.properties文件中server.rmi.ssl.disable=true
3、操作一波,①、先启动本地jmeter-server
②、启动Linux系统下的jmeter-server
③、启动本地jmeter 查看运行>>remote start下是否存在远程IP(存在就是设置好了)
其中Linux下启动jmter-server 会报错:
[root@localhost bin]# ./jmeter-server
Created remote object: UnicastServerRef [liveRef: [endpoint:[127.0.0.1:39150](local),objID:[-3126fe29:14300b1102e:-7fff, -4078314045196249121]]]
Server failed to start: java.rmi.RemoteException: Cannot start. localhost is a loopback address.
An error occurred: Cannot start. localhost is a loopback address.
解决方法如下:是要指定Linux的本地IP
./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
使用该命令就会出现
[root@localhost bin]# ./jmeter-server -Djava.rmi.server.hostname=192.168.237.129
Created remote object: UnicastServerRef [liveRef: [endpoint:[192.168.237.129:47673](local),objID:[-7946c75b:14300b3330a:-7fff, -616947588795269019]]]
服务就启动好了,在本地点击脚本运行使用远程IP,就OK了。
如果不启动本地的jmeter-server的话,会报错,
connection refused to host localhost,nested exception is:java.net ConnectException:Connection refused:connect
此时就要先启动本地服务,再启动jmeter,然后再运行就OK了。