linux使用JMETER进行分布式压力测试

1. 下载jmeter tgz文件   http://jmeter.apache.org/download_jmeter.cgilinux

 

2. 登陆linux服务器,建立jmeter目录,rz上传jmetershell

 

3. tar xvf + jmeter tgz文件名apache

 

4. 添加jmeter环境变量    vi /etc/profilevim

增长:JMETER=/data/soft/jmeter/apache-jmeter-3.0   //本身的安装路径
CLASSPATH=$CLASSPATH:$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar
PATH=$PATH:$JMETER/binwindows

5. source /etc/profile服务器

6. jmeter -v查看是否设置成功网络

7. 在jmeter目录建立testplan testresult子目录分布式

8. rz上传jmx脚本到testplan下测试

脚本使用beanshell:(能够将返回输出到jmeter.log)ui

prev.setDataEncoding("UTF-8");
String response_data = prev.getResponseDataAsString();
log.error("response_data----------------:"+response_data);

9. 如有host进入/etc/hosts 加入本身的host配置(此过程能够写成shell脚本,每次只需执行脚本便可)

hosts文件的做用至关如DNS,提供IP地址到hostname的对应,Linux系统在向DNS服务器发出域名解析请求以前会查询/etc/hosts文件,若是里面有相应的记录,就会使用hosts里面的记录

//查看当前host hostname (实际与执行脚本使用的host无关,该命令返回的host是系统启动时就一直不变的,若要修改,须要修改之后重启服务器才会永久生效)

vim /etc/sysconfig/network  系统网络配置文件   --须要重启生效,永久性修改。hostname是Linux系统下的一个内核参数,它保存在/proc/sys/kernel/hostname下,可是它的值是Linux启动时从rc.sysinit读取的。而/etc/rc.d/rc.sysinit中HOSTNAME的取值来自与/etc/sysconfig/network下的HOSTNAME

/etc/init.d/network restart  修改网络配置文件后重启网络

 

10. jmeter -n -t testplan/comic.jmx -l testResult/result1.jtl执行脚本并生成聚合报告(在jmeter目录下可以看到jmeter.log或者在testplan目录下,自行寻找,经过日志能够看到出错的地方)

 

-n表示以nogui方式运行测试计划

-t表示测试计划,后面跟测试计划名称

-l表示测试结果,后面跟测试结果文件名称

 

11. sz导出聚合报告,在windows下打开可查看结果

 

分布式配置:

一、同上面步骤,在新的服务器上配置jmeter及环境变量

二、在控制机上修改bin/jmeter.properties,添加从机的IP及端口(使用-r启动全部从机)1099是默认的rmi通讯端口

 

# Remote Hosts - comma delimited

remote_hosts=192.168.5.95:1099,192.168.5.103:1099

三、开启执行脚本机器上的server服务,bin/jmeter-server

四、在控制机执行分布式命令

jmeter -n -t testplan/comic.jmx -R 10.15.243.53,10.15.230.78 -l testResult/result1.jtl    指定从机IP

jmeter -n -t testplan/comic.jmx -r -l testResult/result1.jtl  启动全部从机执行脚本

注:如有host一样也须要修改从机的host文件,不然会出现error

相关文章
相关标签/搜索