博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JMeter 分布式性能测试
阅读量:5903 次
发布时间:2019-06-19

本文共 1281 字,大约阅读时间需要 4 分钟。

作为一个纯 JAVA 的GUI应用, 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。不过, 也可以像 LoadRunner 一样通过使用多台机器运行所谓的 Agent 来分担 Load Generator 自身的压力,并借此来获取更大的并发用户数。根据 官方文档的署名,你需要自己完成这个配置,不过不用担心,这将非常简单 ^_^

1. 在所有期望运行 作为 Load Generator 的机器上安装 ,并确定其中一台机器作为 Controller,其他的机器作为 Agent。然后运行所有 Agent 机器上的-server.bat文件——假定我们使用两台机器 192.168.0.1 和 192.168.0.2 作为 Agent;

2. 在Controller 机器的 安装目录下找到 bin 目录,再找到 .properties 这个文件,使用记事本或者其他文字编辑工具打开它;

3. 在打开的文件中查找“remote_hosts=”这个字符串,你可以找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示运行 Agent 的机器,这里需要修改为“remote_hosts=192.168.0.1:1664,192.168.0.2:1664”——其中的 1664 为 的 Controller 和 Agent 之间进行通讯的默认 RMI 端口号,在远程的agent机器中bin目录下找到jmeter.properties文件, 比如我这里修改为1664:

      server_port=1664

      server.rmi.localport=1664

             启动slave机上的jmeter-server.bat,端口已经修改为:1664。然后,启动slave机器jmeter_home/bin目录中的jmeter-server.bat。

如果修改了slave机器的通讯端口,那么master(controller)机器的remote_hosts也需要修改。

 

4. 保存文件,并重新启动 Controller 机器上的 .bat,并进入 Run -> Remote Start 菜单项,会看到远程的agent机器和端口。

注意:jmeter分布式相当于一个负载机运行一个场景,把数据传输给主机计算报告(比如:场景中设置100线程,那么3台的负载机都启动100线程,共300)

 

其它说明:

 

  1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

 

  2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

 

  3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

 

转载地址:http://pdkpx.baihongyu.com/

你可能感兴趣的文章
最长上升子序列问题
查看>>
C#中的析构函数
查看>>
Python基础—基础数据类型list(Day4)
查看>>
idea 编译级别的设置
查看>>
javascript系列-class9.DOM(上)
查看>>
vue-resource改造品牌列表案例
查看>>
内置对象Array的原型对象中添加方法
查看>>
12行代码的相关节点
查看>>
activemq的几种基本通信方式总结
查看>>
PLSQL 中异常处理
查看>>
Android事件总线(一)EventBus3.0用法全解析
查看>>
log4j使用细节
查看>>
5月8下午
查看>>
linux的文件权限
查看>>
JAVA-常量
查看>>
不要在using语句中“.NET研究”调用WCF服务
查看>>
Windows Phone 7 中的切换“.NET研究”应用
查看>>
浅谈大型网站动态应用系统架构,互联网营销
查看>>
一起谈.NET技术,混乱的MVC,.NET非要MVC不可么?
查看>>
POJ 1094 Sorting It All Out(拓扑排序)
查看>>