JMeter进行分布式压测

JMeter进行分布式压测,第1张

文章部分参考了网络上的内容,作者介意可以联系删除哦~
为什么要做分布式压测:
因为jmeter本身存在局限性,一台压力机的 Jmeter 支持的线程数受限于 Jmeter 其本身的机制和硬件配置(内存、CPU等)是有限的。由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大,在需要模拟大量并发用户数时,单机很容易出现 JAVA 内存溢出的错误,导致测试脚本本身就有瓶颈。
目的:
确保压力机不会出现性能瓶颈,在后面进行性能分析时,不需要考虑压力机是否是导致性能瓶颈的主要原因之一。

1.执行分布式压测的前提条件:

  • 运行相同版本的JMeter
  • 使用相同的java版本
  • 有基于SSL的RMI的有效密钥库,或者禁用SSL。(本文举例中是采用的禁用SSL)
  • 都在一个网络
  • 关闭防火墙
一、介绍
  1. 分布式压测,首先我们需要确定一台调度机(Master),其他的机器作为执行机(slave)。
  2. 执行时,master会把脚本发送到每台slave上,这表示只有master上会有.jmx脚本。其他的slave上无需在下载该脚本。但是在主master跑脚本时,slave需要双击打开jmeter-server.bat。
  3. 执行完成后,slave会把结果传给master。
二、执行机(salve)
  1. 首选打开 -->jmeter.properties文件,编辑以下内容:

  2. 配置完成后,双击打开jmeter-server.bat,测试过程中保持打开状态。

三、调度机(master)
  1. 在调度机执行脚本之前,我们同样需要先设置 jmeter.properties 文件,需要设置远程控制的IP和端口。在第一步设置salve的时候我们选择的端口是1099,slave的ip可以在salve的cmd输入命令— ipconfig 进行查看。

  2. 打开JMeter,第一步:选择需要远程启动的slave(执行机)

  3. 第二步:运行本地的脚本。通过聚合报告可以看到请求了10次,线程数设置的是5。所以远程的slave机上成功运行了。

  4. slave上看到的结果:

四、连接多个调度机(salve)
  1. 打开master(执行机)的 jmeter.properties 配置文件,将需要连接的IP进行配置。

  2. 打开JMeter,选择需要远程启动的IP,也可以远程启动所有:我这里是选择启动所有的。所有可以看到聚合报告中的请求数是15。因为线程数是5 我请求了三次,5*3=15。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/723961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存