背景
由于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启动的线程数等于线程组中的配置。

15 jmeter分布式性能测试的更多相关文章

  1. 转 15 jmeter分布式性能测试

    15 jmeter分布式性能测试   背景由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误.要解决这个问题, ...

  2. jmeter -分布式性能测试部署

    ------------------运行环境:------------------------------------------------- 1. 安装java运行环境:要求jdk1.8(最好安装 ...

  3. JMeter分布式性能测试

    利用JMeter进行负载测试的时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程中,JMeter自身会自动关闭,要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的  ...

  4. Jmeter 分布式性能测试

    作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错 ...

  5. Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试

    在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起J ...

  6. 【转载】Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试

    在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起J ...

  7. 性能测试工具 jmeter 分布式压力测试实操

    性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...

  8. jenkins +Jmeter 完成分布式性能测试

    1.Jmeter 压测机器配置. 下载Jmeter 版本:https://jmeter.apache.org/download_jmeter.cgi   我下的是5.1.1 将下载后的版本进行解压. ...

  9. Windows和Linux的Jmeter分布式集群压力测试

    Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...

随机推荐

  1. mysql的存储过程与事务入门

    存储过程是:通过一系列的SQL语句, 根据传入的参数(也可以没有), 通过简单的调用, 完成比单个SQL语句更复杂的功能, 存储在数据库服务器端,只需要编译过一次之后再次使用都不需要再进行编译.主要对 ...

  2. Struts2(四)属性驱动和模型驱动

    一.概述 所谓模型驱动,就是使用单独的JavaBean实例贯穿整个MVC流程,与之相对应的属性驱动方式,则使用属性作为贯穿MVC流程的信息携带者.属性无法独立存下,它必须依附于一个对象,这个对象就是A ...

  3. django进阶-1

    前言: 各位久等了,django进阶篇来了. 一.get与post 接口规范: url不能写动词,只能写名词 django默认只支持两种方式: get, post get是获取数据 ?user=zcl ...

  4. cookie设置在特定时间点过期的方法

    假设需求为:在当天晚上0:00过期. 方法: 得到当天晚上0:00这个时间点的一个时间. function getNextDate(){        var d = new Date(),      ...

  5. Robotium源码解读-native控件/webview元素的获取和操作

    目前比较有名的Uitest框架有Uiautomator/Robotium/Appium,由于一直对webview元素的获取和操作比较好奇,另外Robotium代码量也不是很大,因此打算学习一下. 一. ...

  6. vue开发 - 将方法绑定到window对象,给app端调用

    通过jsBridge方法,H5可以调用客户端(ios,android)的内部方法,同样,客户端也需要能调用H5页面里定义的js方法,但是在vue里,所有的方法都是在组件内部声明的,也只能在组件内部调用 ...

  7. Mysql On Mac OS: Remove & Install

    If you downloaded and installed from .dmg package already, and mightbe sometime it sucks because of ...

  8. CentOS 安装apache

    yum 安装apache yum –y install httpd 设置开机启动 chkconfig --levels 235 httpd on 启动 /etc/init.d/httpd start ...

  9. Jenkins-Build Monitor View

    现在上了jenkins的任务越来越多,查看起来很不方便,想搞个大视图,刚好jenkins本身支持这个功能. 功能: 一个独特的View, 可以将指定的Job,显示出来,当Job很多时,效果很好看 下载 ...

  10. 如何查看当前项目Laya的引擎版本

    打开项目后在调试控制台输入 Laya.version