JMeter分布式压测
前提条件1、所有测试机上保证jdk版本一致,jmeter版本一致;2、所有测试机关闭防火墙。分布式环境搭建选择一台机器作为控制机,其余机
前提条件
1、所有测试机上保证jdk版本一致,jmeter版本一致;
2、所有测试机关闭防火墙。分布式环境搭建选择一台机器作为控制机,其余机器全部作为负载机。
控制机设置
1、编辑bin目录下jmeter.properties文件:
- 设置server_port,默认为1099,可修改;需去掉server_port前的“#”符号
- 设置remote_hosts=控制机IP:端口号,负载机IP:端口号,其它负载机IP:端口号
设置完成后保存文件。
备注:若控制机不执行测试,则remote_hosts中不需要填写控制机IP。
2、在jmeter的bin目录下双击运行create-rmi-keystore.bat,根据提示输入(随意输入即可)
最后按回车键,成功后bin目录下会出现rmi_keystore.jks文件。
负载机设置
1、复制在控制机生成的rmi_keystore.jks文件到每一台负载机jmeter的bin目录下
2、编辑负载机bin目录下jmeter.properties文件
- 设置server_port,默认为1099;(控制机中填写的负载机端口号需与此处设置对应)
- 设置remote_hosts=控制机IP:端口号
设置完成后保存文件。
检查负载机是否成功添加
在控制机运行jmeter.bat(若设置之前已打开,需关闭后重新运行)
Run→Remote start选项中显示所有已添加机器的IP
检查负载机是否与控制机连通
运行控制机与负载机bin目录下jmeter-server.bat文件
在控制机上选择负载机对应的IP,执行测试
检查负载机上jmeter-server界面是否显示开始测试
出现上方字样即为成功连通。
执行测试
所有测试机双击运行bin目录下jmeter-server.bat文件(控制机和所有负载机都需运行)
在控制机上设置测试脚本,线程数与执行次数(或执行时间);之后在控制机上点击Remote Start All即可。
备注:所有负载机无需打开jmeter.bat,所有测试机器的结果汇总显示在控制机上。实际测试时,使用非GUI模式进行测试,执行命令:
jmeter -n -t scrpit.jmx -r -l result.jtl
-n:使用非GUI模式
-t:指定要运行的jmx文件
-r:启动所有远程agent
-l:生成的测试结果文件
执行命令后会出现报错
需将所有压测机jmeter.properties文件中server.rmi.ssl.disable值设置为true
重新启动jmeter-server.bat,执行命令即可。
欢迎关注我:
@软件测试开发区
持续分享软件测试干货!!!