05 - Jmeter连接多台电脑做压力测试
2024-08-28 11:10:47
在使用Jmeter进行接口的性能测试时, 由于Jmeter是JAVA应用, 对于CPU的内存消耗比较大, 所以, 当需要模拟数以万计的的并发用户时, 使用单台机器模拟所有用户并发就会有些力不从心了, 还会引起JAVA的内存溢出错误, 为了让Jmeter工具提供更大的负载能力, 这时可以使用Jmeter提供的分布式功能来启动多来电脑实施压力测试。
Jmeter分布式原理
- Jmeter分布式执行时,选择其中一台作为控制机(Controller),其它机器作为代理机(Agent);
- 执行时,Controller会把脚本发送到Agent上,Agent拿到脚本后开始执行,Agent执行时不需要打开Jmeter,只需要打开Jmeter-server.bat
- Agent会把结果回传给Controller, Controller会收集所有Agent信息并且汇总;
控制机(Controller)配置:
- Controller需要安装JDK、Jmeter,并且配置好环境变量;
- 查看本机IP
ipconfig
例如:192.168.10.180; - 打开Jmeter/bin/jmeter.properties,找到
remote_hosts=127.0.0.1
, 把这一行修改为emote_hosts=192.168.8.1789:1099,192.168.10.180
;如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来。 - 配置完后启动jmeter-server.bat, 但是会报错, 提示要加密了, 此时双击
create-rmi-keystore.bat
然后根据提示信息一致填下去, 遇到yes或者no就直接填Y, 然后回车就ok了, 然后把生成rmi_keystore.jks
复制到每一台Agent的bin
目录下; - 然后Controller执行jmeter-server.bat
代理机(Agent)配置
- Agent需要安装JDK、Jmeter,(版本要与Controller一致)并且配置好环境变量;
- 查看本机IP
ipconfig
例如:192.168.10.178; - 打开Jmeter/bin/jmeter.properties,找到
remote_hosts=127.0.0.1
, 把这一行修改为emote_hosts=192.168.8.178:1099
; - 点击jmeter-server.bat就设置完成了, 等待控制机(Controller)启动;
测试结果
此时打开Jmeter添加一个请求(记得添加一个聚合报告方便查看测试结果), 线程数设置为n个, 然后点击导航栏运行----远程全部启动, 等执行完毕后查看聚合报告Samples
如果是线程数的两倍就表示成功啦!
注意
如果有参数化文件,那么在负载机同样的位置上也得有一个参数化文件
最新文章
- linux node安装
- Verilog HDL那些事_建模篇笔记(实验九:VGA驱动)
- HTML5气泡悬浮框(已经加上完整文件)
- 算法练习26-xx
- 2016 Multi-University Training Contest 7
- (转)将wcf 以webservice的方式调用
- ECG信号读出,检测QRS,P,T 波(小波去噪,并根据检测),基于BP辨识的神经网络
- virsh 常用操作
- R语言︱非结构化数据处理神器——rlist包
- 创建一个QT for Android的传感器应用应用程序(摘自笔者2015年将出的《QT5权威指南》,本文为试读篇)
- 【Visual C++】游戏编程学习笔记之二:定时器的使用
- D3 learning notes
- Houdini SDF/Raymarching/等高曲面绘制
- Mybatis入门实例
- python基础(9)-迭代器&;生成器函数&;生成器进阶&;推导式
- (八) .launch文件 ---编写简单的启动脚本文件
- win7下面iis错误汇总
- Mac 10.12安装WebStorm
- 【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
- Java:有关自定数组的学习