一、前期准备
阿里云的云压测是有五台施压机可供选择,所以自己搭建的Jmeter也准备五个执行机。
- Windows(控制机)1台:jdk8,jmeter
- linux(执行机)五台:jdk8,jmeter
要保证控制机和执行机jdk环境和jmeter版本是同一个,安装jdk和jmeter之后记得要配置环境变量,并且检查是否配置成功
二、执行机配置
打开linux下bin/jmeter.properties文件,修改配置
# Set this if you don't want to use SSL for RMI
server.rmi.ssl.disable=true #改成true
另外在linux上执行jmeter进行压测后,在Windows上打开返回的jtl,结果树里显示no data,所以还需要改一些配置。仍然是bin/jmeter.properties文件
jmeter.save.saveservice.response_data=true #改成true
jmeter.save.saveservice.samplerData=true #改成true
在bin/user.properties文件末尾加上配置
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true
配置好后在执行一遍脚本,在本地打开jtl文件,结果树可以显示响应的数据
执行机都配置好之后,开启jmeter-server服务,默认端口是1099
jmeter-server -Djava.rmi.server.hostname=192.168.1.38
每次启动都要输入一遍命令又记不住,我写在了脚本里
#!/bin/bash
jmeter-server -Djava.rmi.server.hostname=192.168.1.38
赋予执行权限,启动就方便多了
三、控制机配置
打开windows下bin/jmeter.properties
# Remote Hosts - comma delimited
remote_hosts=192.168.1.38:1099,192.168.1.4:1099 #这里填写执行机ip,默认端口号1099,用逗号隔开
#remote_hosts=localhost:1099,localhost:2010
打开本地jmeter,从远程启动窗口可见,配置的端口生效(目前只配置两台)
添加一个测试计划,需要加上断言,方便查看返回的结果
点击运行——远程启动所有,或者选择需要运行的执行机
开始运行和结束运行,执行机上会打印记录
查看执行结果,分析并发瓶颈
四、并发测试监控
除了查看jmeter返回的结果之外,还可以在并发过程中监测被测系统。一般可用top查看,我这里推荐使用glances动态指令监控
安装一下也很方便
pip3 install glances
安装之后,只要输入
glances
在分析开发瓶颈的时候,可用监测该接口,分析达到瓶颈的原因