Jmeter分布式测试配置教程

合集下载

Jmeter分布式压力测试实现过程详解

Jmeter分布式压力测试实现过程详解

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高级用法(一)

jmeter高级用法(一)

jmeter高级用法(一)JMeter高级用法1. 分布式测试JMeter可以在多台机器上同时运行,以模拟更真实的负载情况。

分布式测试能够实现更高的性能和更大规模的压力测试。

可以通过以下步骤进行配置:1.配置主控节点:在主机上运行JMeter,打开``文件并进行以下配置:remote_hosts=,,2.配置远程节点:在每个远程节点上,同样修改``文件:server_port=1099=600003.启动远程节点:在每个远程节点上运行以下命令启动JMeter服务:jmeter-server4.创建分布式测试计划:在主控节点上打开JMeter,配置测试计划并保存。

5.启动分布式测试:点击JMeter的“运行”按钮,选择“分布式测试”选项,并开始测试。

2. 多线程模型多线程模型能够模拟多用户同时访问系统的情况,以评估系统的性能。

JMeter提供了多种多线程模型:线程组线程组是JMeter测试计划的基本构建块,用于定义并发用户的行为。

可以设置线程数、循环次数、延迟时间等参数,以模拟多用户的并发访问。

线程组和定时器结合通过结合定时器,可以在一定时间间隔内发送一定数量的请求,模拟用户登录、浏览、下单等具有一定时间间隔的操作。

断言和响应断言断言用于检查服务器响应是否符合预期。

JMeter提供了多种类型的断言,例如响应代码断言、响应内容断言等。

可以在每个请求后添加断言来验证服务器的响应是否正确。

3. 监控和性能分析JMeter提供了多种监控和性能分析工具,以帮助定位性能瓶颈。

查看结果树可以使用“查看结果树”监听器查看每个请求的详细结果,包括响应时间、响应大小、请求参数等。

可以根据结果来分析性能。

聚合报告“聚合报告”监听器提供了请求的摘要信息,包括总体统计数据、每个请求的平均响应时间、吞吐量等。

可以通过聚合报告来了解整体性能情况。

监控服务器资源JMeter还提供了插件,可以监控服务器的CPU、内存、磁盘等资源使用情况。

(完整)jmeter分布式配置

(完整)jmeter分布式配置

jmeter分布式接口测试一、Jmeter分布式执行原理:1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的.3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总.二、执行机(slave)配置:1、slave机上需要安装Jmeter,与调度机所安装的Jmeter版本一致最好.2、添加环境变量:JMETER_HOME=D:\B_TOOLS\apache-jmeter—2.13,此处为你Jmeter的路径3、启动bin目录下的:jmeter-server。

bat,启动成功如下图:4、上图上标红的IP和端口会在master里配置时用到。

IP就是slave机器IP,端口默认是1099,端口也可以自定义,这里我自定义为1000,不修改端口,默认调度机配置时,写1099,这个后面会讲.5、多台slave的话,重复1~4步骤就好。

三、调度机(master)配置:1、找到Jmeter的bin目录下jmeter.properties文件,修改如下配置,IP和Port是slave机的IP以及自定义的端口:remote_hosts=10.99。

25.166, 10。

99.25。

207多台slave之前用”,”隔开2、打开Jmeter,选择运行,有远程启动、远程全部启动两个选项:3、选择远程启动全部a) master结果,全部启动,我配置了2台slave,所以有两次执行结果b) slave控制台信息:四、自定义端口:上面其实已经实现了Jmeter的分布式测试,这部分主要介绍下如何自定义slave端口:1、slave:在slave机的Jmeter的bin目录下,找到jmeter.properties文件,修改如下两个配置项,比如我这里修改为1888:server_port=1888server.rmi。

jmeter分布式压测命令

jmeter分布式压测命令

jmeter分布式压测命令摘要:1.介绍JMeter 分布式压测2.JMeter 分布式压测的命令使用3.命令参数详解4.实际应用案例5.总结正文:JMeter 是一款非常强大的压力测试工具,可以用于测试各种协议的服务器,如HTTP、FTP、SOAP 等。

在进行分布式压力测试时,我们需要使用一些特定的命令来完成。

本文将详细介绍JMeter 分布式压测的命令及其使用方法。

1.介绍JMeter 分布式压测JMeter 分布式压力测试是通过多台计算机同时向服务器发起请求,以模拟大量用户访问的情况。

这有助于评估系统在高并发环境下的性能和稳定性。

为了实现分布式压测,我们需要在所有参与压测的计算机上安装JMeter,并配置相关的参数。

2.JMeter 分布式压测的命令使用以下是JMeter 分布式压测中常用的几个命令:- `jmeter.bat`(Windows 系统)或`jmeter.sh`(Linux/Unix 系统):这是启动JMeter 的命令。

运行这个命令后,JMeter 会启动并显示主界面。

- `jmeter -n -t [测试计划文件] -l [结果文件] -e -o [报告文件夹]`:这是运行压力测试的命令。

其中,`[测试计划文件]`是包含测试计划的XML 文件,`[结果文件]`是用于存储结果的CSV 文件,`[报告文件夹]`是用于存储报告的文件夹。

使用这个命令后,JMeter 会根据指定的参数运行压力测试,并将结果和报告保存在指定的位置。

- `jmeter -n -t [测试计划文件] -l [结果文件] -e -o [报告文件夹] -Djava.rmi.server.hostname=<IP 地址或域名>`:这个命令与上一个命令的区别在于,它指定了RMI 服务器的主机名。

在分布式压测中,我们需要为每台参与压测的计算机指定一个唯一的主机名,以便JMeter 能够正确地将请求分配给不同的计算机。

在linux下实现jmeter的分布式测试

在linux下实现jmeter的分布式测试

在linux下实现jmeter的分布式测试目录一.录制jmeter脚本 (2)1.1 下载运行jmeter (2)1.2 添加线程组 (2)1.3 集合点 (3)1.4. 添加请求 (4)1.5. 配置http请求 (5)1.6. 参数化变量 (6)1.7. 监控器—聚合报告 (7)1.8. 监控器—PerfMon Metrics Collector (9)1.9. 监控器—JMXMon Samples Collector (10)1.10. 监控器—察看结果树 (11)1.11. 断言 (12)1.12. 监听器—断言结果 (15)二. 如何监控服务器端的CPU与内存? (16)三. 在linux下实现jmeter的分布式 (18)要实现在linux下jmeter分布式测试,首先必须学会在window系统下录制jmeter脚本,所以在正式介绍该问题之前,先介绍下window系统下jmeter 脚本的录制和jmeter的一些小的插件.一.录制jmeter脚本1.1下载运行jmeter下载jmeter,如下的版本:运行bin下的jmeter.bat1.2 添加线程组线程数:n,代表的是本次测试模拟的是n个用户Ramp-Up Period(in seconds):m,代表的是n个用户的启动延时为m秒,通俗点讲,就是如果线程数为10,该值为5,那么每秒钟将要启动2个用户循环次数:s,代表的是该线程组运行的次数,选择“永远”会一直执行下去调度器:个人理解主要是用于当测试系统稳定性时,时间上的一个把控1.3 集合点在jmeter下的集合点,是通过定时器的Synchronizing Timer插件完成的表示的是集合到30个用户后,同时对系统进行某一个事物,集合点主要是用于并发的测试,尤其是要测试接口并发的时候,需要配置该插件1.4. 添加请求在这里以接口并发测试为例子,接口名字:获取题库初始版本号,详细内容,如下:根据接口的性质,这里添加http请求,如下:注:该http请求,必须是在线程组下添加1.5. 配置http请求名称:可以修改为代表该请求功能性的名称服务器名称或IP:可以填写域名()或ip,取决于程序部署到了那台服务器上协议:http,方法:post,取决于研发设计的接口方法,编码格式:utf-8,决定了输出的结果是否为中文路径:填写接口文档中的该接口路径就行,最后一定不要忘了加”?”参数:license,是入参,如果入参license是一个固定的值,值的部分可以直接填写值,如果license是一个变化的量,需要对参数进行参数化,值填写${license},参数化如下.1.6. 参数化变量参数化配置Filename:文件路径,参数值存放的文件,参数在CSV中是以列区分的Variable Name:变量名称Allow quoted data:是否支持引用Recycle on EOF:当读取变量到结尾,是否支持变量值得循环Stop thread on EOF:当读取变量到结尾时,是否停止该线程Sharing mode:变量模式,该变量的值,是适用于当前线程还是所有线程1.7. 监控器—聚合报告通过上面的配置,接口请求的功能就配置完成了,接下来的配置主要就是对结果的监控与分析http请求---监控器—聚合报告:代表的该监控器监控的是该请求的结果聚合报告,能够简明扼要的显示测试结果Samples:样本数,模拟的用户数目Average:所有用户的平均响应时间Median:根据用户的响应时间,按照从小到大的顺序排序,前50%的用户的平均响应时间90%line: 根据用户的响应时间,按照从小到大的顺序排序,前90%的用户的平均响应时间95%line: 根据用户的响应时间,按照从小到大的顺序排序,前95%的用户的平均响应时间99%line: 根据用户的响应时间,按照从小到大的顺序排序,前99%的用户的平均响应时间Min:最小的用户响应时间Max:最大的用户响应时间Error:请求的错误率Throughput:吞吐,每秒钟处理的请求个数KB/sec:每秒钟获取的数据大小1.8. 监控器—PerfMon Metrics CollectorPerfMon Metrics Collector主要是用于监控服务器的CPU与内存.配置监控器,如下:IP:要监控的服务器的ip端口:4444如果要完成该监控,关键的在服务器端装插件,具体过程下面的2详讲1.9. 监控器—JMXMon Samples CollectorJMXMon Samples Collector:主要是用于监控java开发中的JVM配置监控器,如下:关键在服务器端要开启,JVM的7199端口,用于监控以堆内存(max)为例,URL:service:jmx:rmi:///jndi/rmi://192.168.200.7:7199/jmxrmiObject Name:ng:type=MemoryAttribute:HeapMemoryUsageKey:max参数的名称,属性,值可以参考jconsole中的参数信息1.10. 监控器—察看结果树的结果,查看失败的原因,如下:1.11. 断言响应断言:针对的响应内容进行检测,看是否符合期望结果响应数据中必须有true,所以配置如下:响应的内容中,数据部分不能够为空,所以配置如下:大小断言:响应的内容的大小进行检测响应的内容不能够为空,配置如下,字节>01.12. 监听器—断言结果根据10添加了合适的监听器,针对监听器的结果,就要通过监听器,断言结果查看了。

Jmeter分布式部署

Jmeter分布式部署

Jmeter分布式部署Jmeter分布式部署的模式:一台控制机,多台从测机。

从测机可以是windows系统也可以是linux系统,这里建议使用linux系统(windows系统中对TCP/IP连接的端口有最大限制)注:控制机和和从测机的JDK版本、JMeter工具的版本保持一致以下一Jmeter5.2.1版本为例:第一步:配置控制机1、在控制机上安装JDK2、在控制机上安装Jmeter工具3、修改控制机上的\apache-jmeter-5.2.1\bin目录下的jmeter.properties配置文件修改下面三个地方remote_hosts=192.168.58.186:1099,192.168.58.157:1098 #填的是从测机的IP和端口号(图中描述错误)server_port=1099server.rmi.ssl.disable=true第二步:配置从测机1、安装与控制机的JDK相同版本的JDK2、安装与控制机的Jmeter相同版本的Jmeter3、修改控制机上的\apache-jmeter-5.2.1\bin目录下的jmeter.properties配置文件修改下面三个地方remote_hosts=192.168.58.157 (从测机自己的IP地址)server_port=1099 (从测机自己的IP地址)server.rmi.ssl.disable=true第三步:把写好的测试脚本分别导入到从测机的jmeter中第四步:启动Jmeter1、先启动从测机的Jmeter服务2、再在控制机中启动Jmeter-server.bat3、最后启动控制机中的Jmeter.bat4、在控制机中的jmeter中选择-运行-远程启动所有。

jmeter使用-【分布式并发接口测试步骤】

jmeter使用-【分布式并发接口测试步骤】

jmeter使⽤-【分布式并发接⼝测试步骤】当测试需要压⼒过⾼时,⼀个负载机的资源往往⽆法⽀撑,此时就需要增加多台机器同时⽣成负载,这样的测试就是分布式测试。

⼀、Jmeter分布式执⾏原理: 1、Jmeter分布式测试时,选择其中⼀台作为调度机(master),其它机器做为执⾏机(slave)。

2、执⾏时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执⾏,slave执⾏时不需要启动GUI,我理解它应该是通过命令⾏模式执⾏的。

3、执⾏完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

⼆、slave机器配置(linux系统为例):1. 将jmeter装⼊Linux服务器中,这个时候可以注意⼀下,调度机和执⾏机最好安装相同的jmeter和JDK版本,避免因为版本不同⽽发⽣错误2. 安装完成后进⼊jmeter⽬录下的bin⽬录中,打开jmeter.properties⽂件,修改server.rmi.ssl.disable=false,改为true,并去掉注释3. 启动⽬录下的jmeter.bat⽂件如果遇到上⾯这种情况,就使⽤以下命令启动服务 ./jmeter-server -Djava.rmi.server.hostname=主机ip ,主机IP为slave机器的ip;启动成功展⽰如下:如果需要多台slave机器,则重复上述步骤即可。

三、master机器配置(windows系统为例):1. 打开jmeter路径下的jmeter.properties⽂件,修改server.rmi.ssl.disable=false,改为true,并去掉注释将slave机器的IP也填⼊这个⽂件,ip和端⼝可以在服务启动的输出信息中取到,如果添加多个slave机器,则⽤“,”隔开就可以2. 这个时候在jmeter内就可以看到已经添加成功了,点击运⾏10106端⼝的slave服务器,就可以在查看结果树中看到已经执⾏成功了此时slave端也可以看到有运⾏信息输出。

jmeter分布式压测环境搭建

jmeter分布式压测环境搭建

jmeter分布式压测环境搭建⼀、分布式压测原理普通压测:单台机可以对⽬标机器产⽣的压⼒⽐较⼩,受限因素包括CPU,⽹络,IO等分布式压测:利⽤多台机器向⽬标机器产⽣压⼒,模拟⼏万⽤户并发访问1、需要⼀台总控机器(master),⼀台或多台执⾏机(server)(⼀台机器也可以既做总控机,也做执⾏机)2、master会把压测脚本发送到 server上⾯3、执⾏的时候,server上只需要把jmeter-server打开就可以了,不⽤启动jmeter4、结束后,server会把压测数据回传给master,然后master汇总输出报告注意:master和server的所有机器必须使⽤同⼀个版本的JDK和Jemter⼆、环境配置 我的环境 master:win 10 server:Centos6.8 X2server机器配置bin⽬录之下1、控制台输⼊:vim jmeter.properties保存退出2、控制台输⼊:vim jmeter-server保存退出3、启动服务 注:如果启动的时候提⽰没有权限,控制台输⼊:chmod 777 jmeter-servermaster机器配置bin⽬录之下 jmeter.properties命令⾏执⾏脚本 jmeter -n -t D:\apache-jmeter-5.4.1\temp\沙丁鱼测试.jmx -r -l D:\apache-jmeter-5.4.1\temp\result.jtl -e -o D:\apache-jmeter-5.4.1\temp\result报表结果 html报表Summary Report GUI执⾏ 或者选择Remote Start All 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、Jmeter分布式执行原理:
1、Jmeter分布式测试时,选择其中一台作为调度机(master客户端),其它机器做为执行机(slave 服务端)。

2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。

3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

二、执行机(slave)配置:
1、slave机上需要安装Jmeter,和jdk。

2、添加环境变量:JMETER_HOME=D:\B_TOOLS\apache-jmeter-2.13,此处为你Jmeter的路径
JAVA_HOME=C:\Java\jdk1.6.0_20
Path=%JAVA_HOME%\bin;%PATH%;%SystemRoot%/system32;%SystemRoot%;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3、启动bin目录下的:jmeter-server.bat,启动成功如下图:
4、上图上标红的IP和端口会在master里配置时用到。

IP就是slave机器IP,端口默认是1099,端口也可以自定义,这里我自定义为1000,这个后面会讲。

5、多台slave的话,重复1~4步骤就好。

三、调度机(master)配置:
1、脚本:简单的一个访问百度的脚本:
2、找到Jmeter的bin目录下jmeter.properties文件,修改如下配置,IP和Port是slave机的IP以及自定义的端口(这里端口我自定义为100,后面会讲如何自定义):
remote_hosts=10.13.223.202:1000,10.13.225.12:1000
多台slave之前用","隔开,我这配置了2台,可以看到标红的这个就是上面截图slave的IP和Port.
3、打开Jmeter,选择运行,有运程启动、运程全部启动两个选项:
4、选择远程启动-->10.13.225.12:1000
a) master结果,这里我只启动了10.13.225.12:1000这一台slave,所以只有一个结果(线程数和循环次数都是1):
b) slave控制台信息:
5、选择远程启动-->远程全部启动:
a) master结果,全部启动,我配置了2台slave,所以有两次执行结果:
四、自定义端口:
上面其实已经实现了Jmeter的分布式测试,这部分主要介绍下如何自定义slave端口:
1、slave:在slave机的Jmeter的bin目录下,找到jmeter.properties文件,修改如下两个配置项,比如我这里修改为1888:
server_port=1888
server.rmi.localport=1888
2、启动slave机上的jmeter-server.bat,如下图,端口已经修改为:1888
3、master:修改master机器的jmeter.properties文件:
remote_hosts=10.13.223.202:1000,10.13.225.12:1888
4、重启jmeter.bat,如下图,端口已经变了:
五、其它说明:
1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave 回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater。

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

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

相关文档
最新文档