首页 > 其他分享 >Jmeter如何分布式执行脚本?

Jmeter如何分布式执行脚本?

时间:2024-01-15 22:14:34浏览次数:35  
标签:脚本 JMeter slave jmeter master 机器 Jmeter 分布式

Jmeter分布式执行原理:
JMeter分布式执行时,选择其中一台作为调度机(master),其他机器作为执行机(slave);
master会在本地编辑好jmx压测脚本,执行时,master将jmx脚本发送至slave上,slaver执行时不需要启动jmeter,只需要把jmeter-sever.bat文件打开以非GUI形式执行;
slave执行完毕后将结果回传给master,并由master进行结果的汇总;
简单来说能达到的效果也就是:比如在JMeter jmx脚本中设立的线程数是100,在本地单机运行就会产生100次请求。如果有1台master机器,2台slave机器,那么每次会向服务器发送的请求数总共就是100*3次。

环境搭建方法:

环境准备
master:JMeter版本5.1.1,jdk版本1.8;
slave:另外1台测试机,JMeter版本5.1.1,jdk版本1.8;
master机器配置
要保证master机器进行测试脚本的有效分发,需要配置slave机器的ip地址和端口号。在master安装目录的bin文件下,打开Jmeter/bin/jmeter.properties,找到remote_hosts=127.0.0.1的值并做修改:
若有多台远程机需要都加进来,用逗号隔开,前面127.0.0.1为本机,默认端口为1099
参数化配置:

参数文件必须为绝对路径,否则脚本执行时无法找到参数配置文件,因为master调度机在分发jmx脚本时,不会分发脚本中对应的参数文件。因此,需要手动将参数文件分发给slave机器(并且放在绝对路径下对应的位置,不然slave会找不到文件)
slave机器的配置

slave安装jdk和JMeter,并配置环境变量。尽量保持与master机器版本一致。两台slave机器JMeter的安装路径也保持一致,方便后续进行参数化配置;

在Slave机器上,找到Jmeter/bin/jmeter.properties设置:server_port=1099;
slave的bin目录下,执行jmeter-server.bat,启动JMeter服务;
启动master机器中JMeter的GUI界面,在运行-远程启动选项中可以看到配置好的slave机器,此时说明已经连接上远程slave机器。

    master和slave必须是在同一网段;
关闭防火墙;
在master启动远程机器时,提示FileNotFoundException;
原因:自JMeter 4.0以来,RMI的默认传输机制将使用ssl协议。ssl协议需要密钥和证书才能工作。
解决方案:在Jmeter/bin/jmeter.properties中,找到server.rmi.ssl.disable,并设置:server.rmi.ssl.disable=true,表示不使用ssl。master和salve都得修改。

标签:脚本,JMeter,slave,jmeter,master,机器,Jmeter,分布式
From: https://www.cnblogs.com/yongheng999/p/17966486

相关文章

  • Postman/Jmeter工具实现接口测试,为什么还要用代码来实现接口自动化测试?
    这种工具包括一些开源框架最大缺点就是不够灵活,如果是单接口的测试还行,但是有的项目接口比较庞大和负责,这种情况下就不大适用工具(工具适用于小型项目,代码适用于中大型项目)主要有以下几个原因:1敏捷开发,接口巨大,工具对于实现团队协作很不友好,很不方便2工具的功能都是定义好的,一旦......
  • 分布式系统和微服务的关系
     分布式系统和微服务的关系   分布式系统    分布式系统是由多台计算机组成的系统,这些计算机通过网络进行通信和协作,共同完成一个或多个共享目标。在分布式系统中,各个计算机节点可以分布在不同的地理位置,它们通过消息传递或共享存储等方式进行通信。分布......
  • JMeter文件介绍
       ......
  • Chrome 插件 V3 版本 Manifest.json 中的内容脚本(Content Scripts)解析
    内容脚本(ContentScripts)指定在用户打开某些网页时要使用的JavaScript或CSS文件。内容脚本是在网页环境中运行的文件。通过使用标准文档对象模型 (DOM),开发者能够读取浏览器所访问网页的详情、更改这些网页,并将信息传递给其父级扩展程序。一、内容脚本功能内容脚本在......
  • 精确掌控并发:滑动时间窗口算法在分布式环境下并发流量控制的设计与实现
    这是《百图解码支付系统设计与实现》专栏系列文章中的第(15)篇,也是流量控制系列的第(2)篇。点击上方关注,深入了解支付系统的方方面面。上一篇介绍了固定时间窗口算法在支付渠道限流的应用以及使用redis实现的核心代码。本篇重点讲清楚分布式环境下滑动时间窗口算法原理和应用场景,以及使......
  • CompletableFuture多线程与redis分布式锁
    @AutowiredpublicRedisTemplateredisTemplate;booleanlock=redisTemplate.opsForValue().setIfAbsent("lock","redisLock");//获取锁      booleanredisLock=redis.getRedisLock();      if(redisLock){        //创建线......
  • 2023年考研成绩提前查脚本
    1importrequests2importurllib33importtime4importjson5urllib3.disable_warnings()6url="https://yz.chsi.com.cn/apply/cjcx/cjcx.do"7headers={8'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)A......
  • jmeter-配置元件&用户参数
    5.1.3.配置元件可以配置各种信息5.1.3.1配置全局参数-用户定义的变量在测试计划-》用户定义的变量中可以定义全局变量。在测试计划-》添加-》配置元件-》用户定义的变量中可以定义全局变量。还可以在线程组-》添加-》配置元件-》用户定义的变量中可以定义全局变量优先级:线......
  • 精确掌控并发:固定时间窗口算法在分布式环境下并发流量控制的设计与实现
    这是《百图解码支付系统设计与实现》专栏系列文章中的第(14)篇。点击上方关注,深入了解支付系统的方方面面。本篇主要介绍分布式场景下常用的并发流量控制方案,包括固定时间窗口、滑动时间窗口、漏桶、令牌桶、分布式消息中间件等,并重点讲清楚固定时间窗口应用原理和应用场景,以及使用re......
  • 分布式系统实验二报告
    常量定义根据论文中的内容,Raft中server节点共有三种状态,分别是Follower、Candidate和Leader,因此代码中将三种状态定义如下:const( FOLLOWER=iota CANDIDATE LEADER)此外,根据大量测试所得经验,我分别定义以下时钟常量:选举超时间隔200-500ms、心跳间隔50ms。const( H......