Jmeter分布式压力测试实现过程详解
一、分布式压测原理
如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果)
二、修改 Jmeter 配置文件
- 在主控机的jmeter的bin目录找到配置文件jmeter.properties。找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port。如果是多个压力机,之间使用【,】分隔
- 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致)
- 电脑防火墙关闭,防止拦截端口
修改内容如下(注意:如果控制机也作为测试机的话,那么控制机的 IP 也需要配置到 remote_hosts中)
三、启动 Jmeter 服务
- 每台测试机都需要开启 Jmeter 服务(即:在 Jmeter 安装目录下的 bin 目录下找到 jmeter-server.bat 文件,双击打开)
- 如果控制机也作为测试机的话,那么控制机也需要开启 Jmeter 服务
- jmeter-server.bat 文件打开窗口如下
- 如果下面的 IP 不是本机 IP 那么说明IP有问题(解决方案:查看电脑网络连接中的虚拟网络是否禁用了,没有禁用则禁用掉,因为 IP 错误很可能是获取到了虚拟 IP)
- 如果下面的端口与控制机配置的端口不一致,则需要修
四、启动控制机 Jmeter 执行脚本
1.调试查看 slave 机与控制机是否连通
2.出现下图情况,说明 slave 与控制机连通了
3.接下来就可以通过 "远程全部启动" 来启动所有的 slave 机进行分布式压测脚本了
4.注意事项:
- 设置的线程数为1000,如果有4台(包括控制机)测试机,那么结果为4000次
- 如果有参数化文件,那么在 slave 上也要存放一份,且文件所在路径必须与控制机一致
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
jmeter如何自动生成测试报告
1.准备.jmx脚本文件 2.在脚本文件路径下执行cmd命令: jmeter -n -t test.jmx -l result.jtl -e -o /tmp/ResultReport 参数解析: ● -n: 非GUI模式执行JMeter ● -t: 执行测试文件所在的位置 ● -l: 指定生成测试结果的保存文件,.jtl文件格式 ● -e: 测试结束后,生成测试报告 ● -o: 指定测试报告的存放位置 ● /tmp/ResultReport :手动创建的 ResultReport 报告文件夹的路
-
Jmeter 中 CSV 如何参数化测试数据并实现自动断言示例详解
当我们使用Jmeter工具进行接口测试,可利用CSV Data Set Config配置元件,对测试数据进行参数化,循环读取csv文档中每一行测试用例数据,来实现接口自动化.此种情况下,很多测试工程师只会人工地查看响应结果来判断用例是否通过. 其实我们同样可利用CSV Data Set Config来帮助我们实现自动断言. 思路:将每一条用例的预期结果一并保存在csv文档中,循环读取文档中的期望结果,来跟实际运行的结果进行一致性判断,高效实现接口自动化. 示例: 1.整理测试数据及预期结果的CS
-
Jmeter HTTPS接口测试证书导入过程图解
python中没有swich..case,若要实现一样的功能,又不想用if..elif来实现,可以充分利用字典进行实现 主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,每次都会输出,这跟自己需要的功能有出入. 通过调试后,发现问题主要出现在key值对应的value的方法名有没有带()有很大的关系,如下: 不管bb中的number填写的是多少,总是会输出123 如果把cs()改为cs,那么只有在调用2的时候才会输出123:或者改下retu
-
基于Jmeter生成测试报告过程图解
相对于Loadrunner,Jmeter其实也是可以有测试报告产出的,虽然一般都不用(没有Loadrunner的报告那么强大是一方面),还是顺手写一下吧,其实方法在用命令运行jmeter的时候就已经说明了 1. 准备脚本文件 2.cmd中运行一下命令 - -jmeter-n-t test.jmx(脚本的绝对路径) -lresult.jtl(自定义的名称) -e-o \tmp\result_report(测试报告的绝对路径)例:jmeter -n -t C:\Users\ZC\Desktop\te
-
Web Jmeter–接口测试工具详解
关于Jmeter性能测试工具不再过多介绍.如果你要学习软件性能测试,那么多少应该会对它有所耳闻. 强烈建议阅读官方文档学习:http://jmeter.apache.org/index.html 还有比这个更权威更全面的介绍Jmeter工具使用的么? 不过,此处要介绍是用它来做接口测试. 一.安装Jmeter Jmeter官方首页:http://jmeter.apache.org/ 关于Jmeter可以做什么,官方上也有非常详细的介绍.另外它的文档也写很
-
python Django编写接口并用Jmeter测试的方法
一.环境准备 python3.6.7 Pycharm 二.创建项目 我这里是在Django项目中新建了个APP,目录结构如下图所示: 那么怎么在已有的Django项目中新建APP并进行配置呢: 2.1.新建app a.可以在终端输入命令:python manage.py startapp myapp(这里myapp是指你自己app的名称),如下图所示: b.也可以在pycharm中找到Tools-->Run manage.py Task, 在弹出的命令框中输入:startapp myapp(这里
-
python利用JMeter测试Tornado的多线程
JMeter的简介 JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.Java 小服务程序.CGI 脚本.Java 对象.数据库.FTP 服务器, 等等. JMeter的下载网址为:https://jmeter.apache.org/download_jmeter.cgi,下载前请先确定电脑中安装了Java,下载完毕后点击bin文件夹下的"meter
-
Jmeter多用户并发压力测试过程图解
jmeter多用户并发压力测试可用CSV Data Set Config (添加--配置元件--CSV Data Set Config) Filename: 文件的位置(如果是同目录下csv文件,可不填写路径,写名称即可) Variable Names: 变量名称.多个变量用 , 或者 ; 隔开 Recycle on EOF:文件结束后是否要循环 Stop thread on EOF(文件结束是否中止线程) File Encoding: 默认为ANSI Allow Quoated data: 双
-
Jmeter对接口测试入参实现MD5加密
一.自带函数助手MD5加密 在函数助手中找到__MD5这个函数,第一个参数是要md5加密的值,第二个参数是保存加密后值的变量 在请求参数中引用该函数 发送请求可以看到密码加密了 二.beanshell脚本md5加密 在jmeter的lib目录下,自带commons-codec-1.11.jar(如果没有,可以到maven库下一个,下载地址: https://mvnrepository.com/,然后放到jmeter的lib目录下),所以,可以借助apache工具类DigestUtils实现. b
-
Jmeter分布式压力测试实现过程详解
一.分布式压测原理 如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果) 二.修改 Jmeter 配置文件 在主控机的jmeter的bin目录找到配置文件jmeter.properties.找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port.如果是多个压力机,之间使用[,]分隔 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致) 电脑防火
-
Jmeter连接Mysql数据库实现过程详解
昨天把Mysql装好了,这个躺在草稿中很久的文章也可以出炉了. 首先需要准备个Mysql jdbc驱动包,尽量保证其版本和你的数据库版本一致,至少不低于数据库版本,否则可能有问题.去官网扒一个下来吧:https://dev.mysql.com/downloads/connector/j/ 1.测试计划(Test Plan)下面把jdbc驱动包导入. 2.线程组下添加一个配置元件JDBC Connection Configuration. Variable Name:自定义参数,在JDBC Req
-
分布式监控系统之Zabbix主动、被动及web监控的过程详解
前文我们了解了zabbix的网络发现功能,以及结合action实现自动发现主机并将主机添加到zabbix hosts中,链接指定模板进行监控:回顾请参考https://www.jb51.net/article/200678.htm:今天我们来了解下zabbix的主动监控.被动监控以及web监控相关话题: 1.什么是主动监控?什么是被动监控? 我们知道获取数据的方式有两种,一种是get,一种是push:在zabbix中描述主动监控和被动监控都是站在agent的一方来描述的:我们把agent主动将数
-
Jmeter调用java脚本过程详解
这篇文章主要介绍了Jmeter调用java脚本过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 jmeter为纯java编写,所以有三种方式使用java脚本,分别是:调用 .java 文件:调用 .class文件 :调用 .jar 文件 1. jmeter调用.java文件 1>. 新建一java脚本,内容如下: 2>. 新建线程组>>添加BeanShell Sampler.Debug PostProcessor.查看结果树
-
java开发分布式服务框架Dubbo暴露服务过程详解
目录 Dubbo服务暴露机制 前言 服务暴露流程 源码解析 本地暴露 远程暴露 Dubbo服务暴露机制 前言 在进行服务暴露机制的分析之前,必须谈谈什么是URL,在Dubbo服务暴露过程中URL是无处不在的,贯穿了整个过程. 一般情况下,URL指的是统一资源定位符,标准格式如下: protocol://host:port/path?key1=value1&key2=value2 Dubbo就是用这种URL的方式来作为约定的参数类型,服务之间也是用URL来进行交互. Dubbo用URL作为配置总线
-
Dubbo+zookeeper搭配分布式服务的过程详解
目录 分布式架构: Dubbo 是什么 Dubbo: 思想: 依赖: 分布式架构: 1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,前端应用能更快速的响应多变的市场需求. 2.此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键. Dubbo 是什么 一款分布式服务框架 高性能和透明化的RPC远程服务调用方案 SOA服务治理方案 Dubbo: 作为分布式架构比较后的框架,同时也是比较容易入手的框架,适合作为分布式的入手框架,下
-
Spring cloud config集成过程详解
这篇文章主要介绍了spring cloud config集成过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Spring Cloud Config 分为 Config Server: 分布式配置中心,是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息 Config Client: 通过指定配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息 Spring boot版本2.1.8.
-
springboot jpa分库分表项目实现过程详解
这篇文章主要介绍了springboot jpa分库分表项目实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 分库分表场景 关系型数据库本身比较容易成为系统瓶颈,单机存储容量.连接数.处理能力都有限.当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库.优化索引,做很多操作时性能仍下降严重.此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间. 分库分表用于应对当前互联网常见的两个场景--大数
-
jmeter接口测试教程及接口测试流程详解(全网仅有)
目录 一.Jmeter简介 二.Jmeter安装 三.设置Jmeter语言为中文环境 四.Jmeter主要元件 五.Jmeter元件的作用域和执行顺序 六.Jmeter进行接口测试流程 七.Jmeter进行接口测试流程步骤详解 八.Jmeter接口测试必定用到的扩展阅读 一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实现分布式负载. Jmeter采用
-
Jmeter中正则表达式提取器使用详解
目录 在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调用. 一.首先来介绍一下Jmeter中正则表达式提取器的元素组成,下图所示: 下面是各参数值的含义: 参数 释义 引用名称 在HTTP等请求中,引用此数据,需要用到的名称 正则表达式 用于将需要的数据提取出来 模板 表示使用提取到的第几个值: $1$:表示取第1个 $2$:表示取第二个 以此类
随机推荐
- js的正则test,match,exec详细解析
- 如何把sqlserver数据迁移到mysql数据库及需要注意事项
- java 创建线程的几种方式
- asp.net Repeater 数据绑定代码
- 利用ASP.NET MVC+Bootstrap搭建个人博客之打造清新分页Helper(三)
- Python实现的最近最少使用算法
- asp缓存类
- C# Linq读取XML文件的实例
- Android USB转串口通信开发实例详解
- Mysql事项,视图,函数,触发器命令(详解)
- 轻松学习Javascript闭包函数
- linux下安装openssl、swoole等扩展的详细步骤
- mysql 事务处理及表锁定深入简析
- jQuery实现的手风琴侧边菜单效果
- Js日期选择自动填充到输入框(界面漂亮兼容火狐)
- JavaScript中的getDay()方法使用详解
- Windows 8 Metro用C#连接SQLite及创建数据库,数据表的增删改查的实现
- 详解Linux 安装 JDK、Tomcat 和 MySQL(图文并茂)
- c++基础语法:构造函数初始化列表
- Android入门之使用eclipse进行源码开发的方法