在Linux下使用Jmeter执行分布式测试任务以及实际使用
一、安装配置(转载)
想在Linux下运行jmeter必须先安装jdk,安装步骤如下:
(1)、下载一个linux可用的jdk包(比如:jdk-6u45-linux-i586.bin),
(2)、然后将jdk-6u45-linux-i586.bin到/opt目录下,cd /opt/; (当然你也可以放在自定义的目录下)
(3)、然后给它赋予权限chmod 777 jdk-6u45-linux-i586.bin命令;
(4)、再然后执行./jdk-6u45-linux-i586.bin
(5)、再检查执行结果:ls
image.png(6)、最后修改vi /etc/profile,主要是在文件最后面添加下面一段内容:
export JAVA_HOME=/opt/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后退出。
(7)、注销当前用户:logout
(8)、再次登录Linux :使用xshell或直接在虚拟机里登录都可以。
(9)、检查jdk是否安装成功:输入java 、输入java -version
image.jpeg然后就是在linux下配置jmeter的环境变量了,步骤如下:
(1)、将apache-jmeter-2.13.tgz移动到/opt目录下,解压:tar -zxvf apache-jmeter-2.13.tgz
(2)、查看解压结果:ls
image.png(3)、配置环境变量:vi /etc/profile,输入:
export JMETER_HOME=/home/JMeter/apache-jmeter-2.13
export PATH=$PATH:$JMETER_HOME/bin
然后保存,退出。
(4)、使修改生效 source /etc/profile
(5)、检验jmeter是否可以运行:jmeter -v
image.jpeg二、实际使用
我使用3台linux测试机部署jmeter,部署方法也是非常简单,打包后放在指定的目录就ok了,(具体见上面)
先定义了 A服务器:控制机 B和C服务器为负载机
注意如果要运行jmeter一定要安装1.6以上版本的jdk并正确配置环境变量,
首先在bin目录下 启动B C 服务器 jmeter的jmeter-server服务器,如果启动报错请根据报错内容检查对应的环境配置,
jmeter-server正常启动会提示"创建远程服务"
接下来是准备测试脚本,可以在windows环境下先创建jmx文件,最好不要添加监听器,因为命令行启动的话监听器可能会占用资源而且有没有任何视图效果.
将生成好的jmx文件上传到A服务器 jmeter目录的bin目录下,然后在bin目录下创建xx.jtl文件.jtl文件用来接收测试中产生的测试结果(目录也可以在其他地方,随意)
好了 现在进bin目录 打入启动命令,当然你也可以用绝对路径来运行启动命令
./jmeter -n -t xx.jmx -R B服务器ip,C服务器ip -l $jmeterpath/bin/xx.jtl(如图本机也要启动,则要把本机的server启动)
参数说明 :
-n 告诉jmeter使用nogui模式运行测试
-t 执行的测试脚本名
-R 后面跟随负载机的ip地址 ,注意用逗号隔开
-l 后面跟着测试结果记录的路径与文件名,主意这个文件jmeter不会自己创建,请预先创建好,
万事俱备 按下回车 ! 就开始虐待你的测试项目吧
测试完成后把xx.jtl文件下载到windows机上在不同的监听器上分析测试结果
如果想修改测试脚本,起始也不必把脚本在windows机上打开gui界面修改,直接编辑.jmx文件 你就可以看到许多熟悉的名字,这里就简单介绍几个
image.pngxml格式的测试脚本,需要改什么,直接这里改下就行。