51Testing软件测试论坛
标题:
linux平台JMETER进行分布式压力测试
[打印本页]
作者:
always_fly
时间:
2019-3-26 16:36
标题:
linux平台JMETER进行分布式压力测试
本帖最后由 always_fly 于 2019-3-26 16:38 编辑
下载jmeter tgz文件
http://jmeter.apache.org/download_jmeter.cgi
登录linux服务器,创建jmeter目录,rz上传jmeter
tar xvf + jmeter tgz文件名
添加jmeter环境变量 vi /etc/profile
增加:
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/bin
复制代码
source /etc/profile
jmeter -v查看是否设置成功
在jmeter目录创建testplan testresult子目录
rz上传jmx脚本到testplan下
脚本使用beanshell:(可以将返回输出到jmeter.log)
prev.setDataEncoding(“UTF-8”);
String response_data = prev.getResponseDataAsString();
log.error(“response_data----------------:”+response_data);
若有host进入/etc/hosts 加入自己的host配置
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 修改网络配置文件后重启网络
jmeter -n -t testplan/comic.jmx -l testResult/result1.jtl执行脚本并生成聚合报告(在jmeter目录下能够看到jmeter.log或者在testplan目录下,自行寻找,通过日志可以看到出错的地方)
-n表示以nogui方式运行测试计划
-t表示测试计划,后面跟测试计划名称
-l表示测试结果,后面跟测试结果文件名称
sz导出聚合报告,在windows下打开可查看结果
分布式配置:
1、同上面步骤,在新的服务器上配置jmeter及环境变量
2、在控制机上修改bin/jmeter.properties,添加从机的IP及端口(使用-r启动所有从机)1099是默认的rmi通信端口
#Remote Hosts - comma delimited
remote_hosts=192.168.5.95:1099,192.168.5.103:1099
3、开启执行脚本机器上的server服务,bin/jmeter-server
4、在控制机执行分布式命令
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
作者:
qqq911
时间:
2019-4-12 10:46
感谢分享
作者:
Miss_love
时间:
2020-12-25 16:57
感谢分享
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2