<转>jmeter(二十三)分布式测试
本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html
个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢慢研究和学习,非常值得推荐推荐!!!
jmeter官方文档:用户手册
jmeter源码:Apache JMeter
一、为什么要使用分布式测试
按照一般的压力机配置,jmeter的GUI模式下(Windows),最多支持300左右的模拟请求线程,再大的话,容易造成卡顿、无响应等情况,这是限于jmeter其本身的机制和硬件配置。
有时候为了尽量模拟业务场景,需要模拟大量的并发请求,这个时候单台压力机就显得有心无力。针对这个情况,jmeter的解决方案是支持分布式压测,即将大量的模拟并发分配给
多台压力机,来满足这种大流量的并发请求场景。
二、分布式压测的原理
1、分布式测试中,选择一台作为管理机(Contorller),其他的机器作为测试执行的代理机(Agent);
2、执行测试时,由Contorller通过命令行将测试脚本发给Agent,然后Agent执行测试(不需要启动GUI),同时将测试结果发送给Contorller;
3、测试完成,可以在Contorller上的监听器里面看到Agent发来的测试结果,结果为多个Agent测试结果汇总而成;
三、分布式设置步骤
1、修改Contorller配置
打开Contorller机下jmeter安装文件下的bin目录:jmeter.properties文件,搜索remote_hosts=127.0.0.1,将Agent机的IP和端口写在后面,比如:
remote_hosts=127.0.0.1,127.0.0.2:80,127.0.0.3:80
其中127.0.0.2和127.0.0.3为Agent机的IP,每个Agent机之间用英文半角逗号隔开,修改保存。
2、启动jemter
启动jmeter后,设置线程组、配置元件、取样器、监听器等原件,点击“运行-远程启动”:

可以选择远程启动一个Agent机,或者选择远程全部启动,这样,就可以进行分布式测试了。
PS:上面的例子中,127.0.0.2和127.0.0.3为举例说明,具体实践请修改为对应的Agent机IP以及端口。
四、注意事项
1、保持Contorller和Agent机器的JDK、jmeter以及插件等配置版本一致;
2、如果测试数据有用到CSV或者其他方式进行参数化,需要将data pools在每台Agent上复制一份,且读取路径必须保持一致;
3、确保Contorller和Agent机器在同一个子网里面;
4、检查防火墙是否被关闭,端口是否被占用(防火墙会影响脚本执行和测试结构收集,端口占用会导致Agent机报错);
5、分布式测试中,通过远程启动代理服务器,默认查看结果树中的响应数据为空,只有错误信息会被报回;
6、如果并发较高,建议将Contorller机设置为只启动测试脚本和收集汇总测试结果,在配置文件里去掉Contorller机的IP;
7、分布式测试中,如果1S启动100个模拟请求,有5个Agent机,那么需要将脚本的线程数设置为20,否则模拟请求数会变成500,和预期结果相差太大。
<转>jmeter(二十三)分布式测试的更多相关文章
- JMeter学习-022-JMeter 分布式测试(性能测试大并发、远程启动解决方案)
在使用 JMeter 进行性能测试时,难免遇到要求并发请求数比较的场景,此时单台测试机的配置(CPU.内存.带宽等)可能无法支持此性能测试场景.因而,此时 JMeter 提供的分布式测试功能就有了用武 ...
- Jmeter(二十三)_插件扩展
Jmeter插件管理器 安装插件的方法有两种,一种是传统的方式,即官网下载,本地配置,重启jmeter.现在有一种快捷的方法可以自定义安装插件-插件管理器 JMeter 插件管理器的使用方法很简单:不 ...
- Jmeter(二十三) - 从入门到精通 - JMeter函数 - 上篇(详解教程)
1.简介 在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化.JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...
- Jmeter非GUI分布式测试
增加参数 -r : 指远程将所有agent启动 Eg: jmeter -n -t purang_yyt_uat_bless_1000_2_0.jmx -r -l purang_yyt_uat_bles ...
- 转:Jmeter分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- Jmeter --- 分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- Jmeter之分布式测试
1)Jmeter 是纯java 应用,对于CPU和内存的消耗比较大,并且受到JVM的一些限制: 一般情况下,依据机器配置,单机的发压量为300-600,因此,当需要模拟数以千计的并发用户时,使用单台机 ...
- Linux分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 执行机和调度机做好 ...
- Jmeter工具使用-分布式架构和服务器性能监控解决方案
在对项目做大并发性能测试时,常会碰到并发数比较大(比如需要支持10000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能来搭建分布式并发环境. 一.J ...
- jmeter(二十三)分布式测试
jmeter用了一年多,也断断续续写了一些相关的博客,突然发现没有写过分布式测试的一些东西,这篇博客就介绍下利用jmeter做分布式测试的一些技术点吧,权当参考... 关于jmeter的介绍和元件作用 ...
随机推荐
- js和css实现手机横竖屏预览思路整理
实现效果,如上图. 首先,实现手机页面在PC端预览, 则先在网上找到一个手机的背景图片,算好大概内间距,用来放预览的页面,我这里是给手机预览页面的尺寸按iphone5的尺寸来的: 一个手机页面在这里预 ...
- MySQL 全文检索 ngram Mybatis
创建全文索引(FullText index) 创建表的同时创建全文索引 FULLTEXT (name) WITH PARSER ngram 通过 alter table 的方式来添加 alter ta ...
- iOS 库操作
目录 库操作 主工程和子工程的引用关系 库之间的引用关系 ar命令 nm命令 库操作 主工程和子工程的引用关系 子工程引用主工程中的文件需要在子工程的search path中加入头文件的目录 子工程引 ...
- centos 7 rpm方式安装mysql
一.下载rpm 二.安装 1.用rz上传到centos上,目录为/home/upload 2.解压 tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar ...
- Laravel 5.4设置logout注销账户的重定向路径
当我们修改Laravel默认Auth默认路径时,在点击logout按钮注销时,默认跳转的地址为项目的根目录, 若想设置成自定义的重定向路径,可以按照如下设置: 方法一: 在Auth \ LoginCo ...
- 1.9flask sqlalchemy和wtforms
2019-1-9 15:28:07 还有2天视频flask结束,然后到爬虫了 发现好快 学的东西好多! 到时候来个综合整理!!!! 越努力,越幸运!!! sqlalchemy 参考连接: https: ...
- Java 中的 IO 与 socket 编程 [ 复习 ]
一.Unix IO 与 IPC Unix IO:Open-Read or Write-Close IPC:open socket - receive and send to socket - clos ...
- ruby 基础知识 - Class 与 Module
原文 1. 因為 Ruby 並沒有「屬性」(property/attribute)這樣的設計,要取用實體變數,需要另外定義的方法才行: class Cat def initialize(name, g ...
- linux考试题改错
符号链接和硬链接有什么区别? 改:符号链接存储文件路径,可以指向不同分区文件,源文件删除后失效. 改:硬链接指向文件索引节点,仅能指向同一分区文件,源文件删除后可以访问. 请描述文件和目录9位权限位的 ...
- python全栈开发 * 12 知识点汇总 * 180530
12 知识点总结 装饰器进阶 ⼀. 通⽤装饰器的回顾1.开闭原则: 对增加功能开放. 对修改代码封闭2.装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能3.通⽤装饰器的写法:def wrap ...