jmeter实战二分布式,无界面等

实战一中记录了一些常用的控件,及脚本使用中遇到的问题,接下来我再记录下其他问题以供查阅。

1.分布式

因为jmeter运行是要占用压力机资源,如果单独一个压力机,无法完成更大的压力,所以有了分布式

分布式简单来讲就是一个master服务和若干个slave服务,master主机通过与slave服务进行通信,向slave服务发送指令运行请求命令,并将结果返回到master

在master机器上将bin目录下的jmeter.properties打开,修改remote__hosts中添加slave的ip地址,当多个slave时,以,隔开

修改slave文件中的jmeter_server文件RMI_HOST_DEF=-Djava.rmi.server.hostname=本机ip。按理说这样就ok了,但是往往运行slave的jmeter-server后在maste上启动远程主机会出现这样那样的错,先排查下防火墙,这里需要关闭防火墙,在然后需要看一下slave的网卡有几块,以window为例,ipconfig,往往能看到好几块网卡,对应的ip也有几个,所以最简单粗暴的方法--在控制面板把其他网卡暂时禁用。

分布式的另一个问题是参数化,前文介绍过参数化的时候参数化文档对应的路径,win和linux,macos,不太一样,这里也是简单粗暴的方法--将参数化文件放到jmeter的bin目录下。

2.无界面

如果启动jmeter,稍微注意,就能看到一段话,意思大概是,gui界面不适用于做压力测试,所以需要用一个no-gui模式

那么jmeter怎么通过no-gui模式运行呢?

通过运行jmeter -?查看jmeter的参数都有什么。

如一下命令:

jmeter -n -t xx.jmx -l xx.jtl -j xx.log

-n no-gui模式

-t 要运行的jmx文件

-l 生成jtl报告

-l 成成日志文件

在命令行中运行以上命令即可。

这种方式运行基本满足了无界面的运行方式,但是我想更好的让jmeter为我所用

写一个bat文件如何?

@echo off

rem 生成当前日期
set date=%date:~0,4%%date:~5,2%%date:~8,2%
if "%time:~0,2%" lss "10" (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
set time=%hour%%time:~3,2%%time:~6,2%
set d=%date%%time%
echo 当前时间: %d%

set ReportPath=E:\压力测试\debug\%d%\
set jmeterPath=C:\jmeter\apache-jmeter-3.1

mkdir %ReportPath%

echo %ReportPath%

rem 执行Jmeter

call C:\jmeter\apache-jmeter-3.1\bin\jmeter.bat -Jworkspace=%ReportPath% -n -t F:\xx.jmx  -l %ReportPath%\result.jtl -e -o %ReportPath%\Report

rem 生成监听器截图rem call java -jar %jmeterPath%\lib\ext\CMDRunner.jar --tool Reporter --generate-png %ReportPath%\CPUMemory.png --input-jtl %ReportPath%\CPUMemory.jtl --plugin-type PerfMon


pause

这个bat文件是不是就稍微好点儿了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值