15 jmeter分布式性能测试

 

背景
由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误。要解决这个问题,可以使用分布式测试,运行多台机器运用所谓的Agent来分担jmeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改。
总结一句话,jmeter由java开发,耗内存、cpu,所以大并发下还是需要分布式的。

测试步骤
1.关闭防火墙。
2.在所要运行jmeter并作为负载生成器的机器上安装jmeter,并确定其中一台机器作为Controller,其他机器作为Agent。然后运行所有Agent机器上的jmeter-server.bat文件。假定我们使用两台机器192.168.0.11和192.168.0.12作为Agent(Agent机器上必须安装JDK,并设置环境变量)。
3.在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为端口号。
4.启动controller机器上的jmeter.bat,选择菜单Run中“远程启动”中的192.168.0.11:1099或192.168.0.12:1099来分别运行Agent。如果两个都要执行,可以点击Run菜单下的“远程全部启动”。
5.有时候用作代理的机器太少,仍不能满足需要,则需要将作为Controller的电脑也当做Agent,则同样需要修改jmeter.properties文件,将Controller的IP写入。同时,这个时候需要先打开Controller电脑中%JMeter_home%/bin目录下的jmeter-server.bat,然后再打开jmeter.bat。此时,进入Run下的“远程启动”菜单,可以看到Controller也作为远程机器进行运行。

常见问题
1.确定在controller机器上安装jdk版本和jmeter一致。
2.Agent机器启动jmeter-server.bat时,后台提示:“Could not find ApacheJmete_core.jar”。
解决方法:这个是开始没有找到ApacheJmete_core.jar,如果不希望看到Could not find的字样,需要添加环境变量JMETER_HOME,路径为bin目录的上一级目录,这样启动jmeter-server服务时,就不会看到“Could not find ApacheJmete_core.jar”。
3.jmeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置。

最新文章

  1. 《如何使用Javascript判断浏览器终端设备》
  2. jqueryGannt用法
  3. synchronized同步对象锁
  4. Unity3D手势及重力加速度(神庙逃亡操作)
  5. 关于开始学习Leetcode的第一帖
  6. Java与云计算有什么关系呢
  7. Explain 结果解读与实践
  8. AdminLTE
  9. HDU5339
  10. Scala-的元组和映射
  11. win7 AnkhSVN 安装报错
  12. 一起happy--C++小组Alpha版本发布说明
  13. 【原创】大叔经验分享(8)创建hive表时用内部表还是外部表
  14. BZOJ4836 二元运算(分治FFT)
  15. csv到mysql数据库如何分割
  16. 基于.Net平台C#的微信网页版API
  17. Linux动态库开发
  18. redis之(十九)redis的管理
  19. USE [EPPM] [dbo].[REFRDEL_CLEANUP]
  20. CentOs 6.5设置使用私钥登录关闭ssh的密码登录修改ssh默认端口

热门文章

  1. UWP 自定义RadioButton实现Tab底部导航
  2. App性能测试揭秘(Android篇)
  3. 干货满满:python实现二维图制作
  4. 【磁盘/文件系统】第二篇:标准磁盘分区流程针对fdisk(硬盘容量小于2T且分区数不能大于15个分区)
  5. linux不同环境变量文件的比较,如/etc/profile和/etc/environment
  6. .NET Core AWS S3云存储
  7. 学习 Gin 问题总结 2020.12.29
  8. JAVA_JNI字段描述符“([Ljava/lang/String;)V”(Android)
  9. java中string、stringBuild、stringBuffer的区别
  10. HIve中 datediff,date_add和date_sub的用法