【jmeter】Jmeter进行分布式性能测试

由于Jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的Agent来分担JMeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改,具体如下。
 
1.安装
JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent。然后运行所有 Agent
机器上的JMeter-server.bat文件——假定我们使用两台机器 192.168.0.11 和 192.168.0.12 作为 Agent;
(Agent机器上必须安装jdk,并设置环境变量)
 
2.在Controller 机器的
%JMeter_home%/bin下,编辑 JMeter.properties 中“remote_hosts=127.0.0.1”。其中的 127.0.0.1
表示运行 JMeter Agent
的机器,这里需要修改为“remote_hosts=192.168.0.11:1099,192.168.0.12:1099”——其中的 1099为端口号。
 
3、启动controller机器上的jmeter.bat,选择菜单Run中“Remote
Start”中的192.168.0.11:10099和192.168.0.12:1099来运行Agent。
 
4.

有时代理的机器太少,仍不能满足需要,则需要将作为Controller的电脑也当作Agent,则同样需要修改JMeter.properties文
件,将Controller的IP地址写入。这时,需要打先打开Controller电脑中JMeter下bin目录下的jmeter-
server.bat,然后再打开JMeter.bat,此时,进入Run
-> Remote Start菜单,可以看到Controller也作为远程机器进行运行。

当远程访问时,会看到控制台上打印出一行:Starting
the test on host [ip]:1099 @....,远程执行结束,会打印一行:Finished the test on host
[ip]:1099 @...。

常见问题:
1、确定在controller机器上安装jdk,版本和jmeter一致,配置环境变量:Java_home等
   在Agent机器上安装jdk,配置环境变量:Java_home和JMeter_home
2、Agent机器启动Jmeter_server.bat时,后台提示:"could not find
ApacheJmeter_core.jar"
解决方法:这个是开始没有找到ApacheJmeter_core.jar,后来去JMETER_HOME目录下去查找,最后找到了,如果不希望看到Could
not find的字样,需要添加环境变量JMETER_HOME,路径为bin目录的上一级目录,这样启动jmeter-server服务时,就只会看到Found
ApacheJMeter_core.jar。

3、Jmeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置,不是均分线程组中的配置

4.
Jmeter安装目录不要放在例如:C:/Program Files/**,因为jmeter-server.bat不支持含空格的文件夹路径。

时间: 2024-10-26 13:02:15

【jmeter】Jmeter进行分布式性能测试的相关文章

分布式性能测试

Jmeter分布式测试 在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave). 2.执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执

利用Jmeter进行分布式性能测试

老大交代了个接口性能测试的小任务,本来呢他提议用LR,但我对这么大体积的玩意儿真不待见,所以就倒腾起JMeter. 具体任务内容就不多说了,基本要求是有1200的并发.但是我们发现JMeter运行800个线程左右就顶不上去了,基本运行一会就卡死.百度之(不以用百度为耻),貌似可以用JMeter分布式测试来达成目的,它所谓的分布式架构,其实也就是有一个Master或者Controller,控制其余多台机器运行,即所谓的 Agent或者Slave 来分担 JMeter自身的压力,由此扩展其性能,获取

使用JMeter进行分布式性能测试

利用JMeter进行负载测试的时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程中,JMeter自身会自动关 闭,要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的 Agent 来分担 JMeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改,具体如下: 1.在所有期望运行 JMeter 作为 Load Generator 的机器上安装 JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent.然后运行所有

JMeter全程实战、性能测试实战、分布式性能测试、真实案例分析

测试需求描述 1. 本次测试的接口为http服务端接口 2. 接口的主要分成两类,一类提供给查询功能接口,一类提供保存数据功能接口,这里我们举例2个保存数据的接口,因为这两个接口有关联 性,比较有代表性: 保存信用卡账户信息接口: 传入参数: args={ "clientNo":"434343556", "alias": "**信用卡2", "cardName": "长城*****卡2"

JMeter分布式性能测试

使用多台机器运行所谓的 Agent 来分担 Load Generator 自身的压力,并借此来获取更大的并发用户数.根据 JMeter官方文档的署名,你需要自己完成这个配置: 1. 在所有期望运行 JMeter 作为 Load Generator 的机器上安装 JMeter,并确定其中一台机器作为 Controller,其他的机器作为 Agent.然后运行所有 Agent 机器上的JMeter-server.bat文件——假定我们使用两台机器 192.168.0.1和 192.168.0.2 作

JMeter在Web Services性能测试中的应用

性能测试是任何分布式或Web应用程序测试计划的重要组成部分.在计划和开发周期中进行性能评价,可以保证交付给客户的应用程序满足客户对于高负 载.可用性和可伸缩性的要求.提前确定软件的负载限制可以为适当地进行系统配置提供帮助,从而避免出现意料之外的故障.系统性能分析中要处理的几个问题 是:系统或服务器能否处理数百个或数千个客户端的同时请求,以及系统可以处理请求的频率.这种类型的测试不但提供了系统响应时间的绝对度量值,而且针对服 务器的回归测试和应用程序代码,检查服务器的响应是否和预期结果相匹配,并为

JMeter压测分布式部署

监控JMeter压力机的性能 netstat -an | find "TCP" /C 处理过程: 一:调度机master启动以后,会拷贝本地的jmx文件分发到远程的slave机器上: 二:slave机器拿到脚本以后启动命令行模式去执行脚本,对于每台slave机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*3=150个线程并发跑3分钟: 三:执行时,slave会把执行获得的数据结果传给master机器,master机器会收集所有slave机器的信息

Jmeter性能测试之分布式(五)

Jmeter是纯Java开发的开源性能测试工具, Java程序是很吃内存的, 有时候一台负载机给服务器的压力是不够的, 需要很多台同时负载, 这个时候就需要用到分布式了. 1. 组网图大概就是这样的 2. Jmeter Server: 分别在多台负载机上面安装Jmeter, 进入bin目录, 启动jmeter-server/jmeter-server.bat ,启动后会有个IP和端口 如果启动报错, 比如java.io.FileNotFoundException: rmi_keystore.jk

基于Jmeter和Jenkins搭建性能测试框架

搭建这个性能测试框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的时间. 1.性能测试流程 该性能测试框架工作的流程主要有:触发测试–>部署测试脚本–>部署被测系统–>Jmeter打压–>被测系统日志分析,5个阶段. 体现在Jenkins上,就是下面这个jenkins 的MultiJob Project--Performance-test-jobs: 注意:在选择Performance-te