专栏首页北京宏哥Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)

Jmeter(四十四) - 从入门到精通高级篇 - Jmeter远程启动(本地运行+远程运行)(详解教程)

1.简介

  这篇文章其实很简单,就是为下一篇文章做一个铺垫,所以宏哥给小伙伴或童鞋们提前热身一下。

2.什么是远程运行?

  远程执行,就是脚本放在本地,执行却在另一台电脑上执行,当然,可以是远程多台电脑一起执行。最常见的场景就是,跑性能测试的时候,一台电脑负载不起需要的线程时,就需要两台或者更多的电脑来启动线程跑测试,线程就相当于是虚拟用户。在网上,通常会说,超过1000个线程时,就不要使用一台电脑跑了,而是选择使用多台电脑一起负载。这个说法并不全对,比如,脚本就写一条insert语句,往数据库中插入数据,启20个线程跑,估计你的电脑CPU使用率就要100%了。所以,最终还是要看电脑承受得住否,而不是看多少个线程,不同的测试脚本,对测试机的压力不一样。很多时候,做性能测试的时候,为了模拟真实的用户操作,都会加等待时间。比如用户登录功能,用户在输入用户名和密码的时候,这个时候,服务器就是在等待,所以脚本在这里就会加一个等待时间。

3.为什么要远程运行?

Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。其实,Jmeter的远程启动可以帮助我们解决此问题,通过单个 jmeter 客户端控制多个远程的jmeter服务器,使它们同步的对服务器进行压力测试。

4.环境

宏哥的本地环境,如下:

Jmeter版本:5.1.1,如下图所示:

系统:Windows 10版本 64位系统(32位的同学自己想办法哦),如下图所示:

宏哥的远程环境,如下:

Jmeter版本:5.1.1,如下图所示:

系统:Windows 10版本 64位系统(32位的同学自己想办法哦),如下图所示:

5.安装jmeter

分别在本地和远程机器上安装jmeter,这里宏哥就不做详细介绍了,不知道的同学可以参考宏哥的这篇安装文章:https://www.cnblogs.com/du-hong/p/12894560.html

6.配置

本地机器:Jmeter安装路径的bin下,编辑jmeter.properties文件,追加如下内容:

# Jmeter远程启动:Controller机配置,格式为:“IP1:port1,IP2:port2”,如下只配置了一台Agent;

remote_hosts=*.*.*.95:1029

远程机器:Jmeter安装路径的bin下,编辑jmeter.properties文件,追加如下内容:

# Jmeter远程启动:Agent机配置

server_port=1029

server.rmi.localport=1029

备注:若出现端口被占用,Windows上在dos框输入“netstat -ano”,查看端口使用情况,这里推荐使用新的端口;

7.脚本文件

宏哥为了演示,简单的录制了一个访问度娘的脚本文件,如下图所示:

8.启动

①本地机器:“运行”→“远程启动”,可以看到宏哥配置的远程机器的IP及端口,如下所示,选择这台机器;

②远程机器:

Jmeter安装在Windows平台上:cmd到dos中,进入Jmeter安装路径的bin目录下,执行“jmeter-server”

③查看本地结果树,如下图:

④查看远程cmd到dos中,进入Jmeter安装路径的bin目录下,执行“jmeter-server”的窗口,如下图所示:

至此,远程启动执行完毕。

9.小结

1、jmeter安装在Linux平台上:进入Jmeter安装路径的bin目录下,执行“./jmeter-server”;

否则会报如下错误:“Java.net.ConnectionException: Connection refused:connect”

2、同理如果Jmeter安装在Linux平台上:进入Jmeter安装路径的bin目录下,执行“./jmeter-server”;

否则会报如下错误:“Java.net.ConnectionException: Connection refused:connect”

3、Jmeter5.2.1,启动报错java.io.FileNotFoundException: rmi_keystore.jks

  • 解决方法一:slave的jmeter.properties中,设置server.rmi.ssl.disable=true 原因:jmeter4.0以上的版本,默认启用RMI连接的安全通信,需要创建密钥库。所以将SSL禁用即可。
  • 解决方法二:手动生成秘钥和证书。执行create-rmi-keystore.bat(Windows适用)或create-rmi-keystore.sh(Linux适用)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Jmeter(五十一) - 从入门到精通高级篇 - jmeter之运动战(详解教程)

    运动战是一种军事作战方式,依托较大的作战空间来换取时间移动兵力包围敌方,以优势兵力速战速决,运动战的运用归为这样一段话“避敌主力,诱敌深入,集中优势兵力逐个击破...

    北京-宏哥
  • Jmeter(三十八) - 从入门到精通进阶篇 - 命令行运行JMeter详解(详解教程)

      前边一篇文章介绍了如何生成测试报告,细心地小伙伴或者同学们可以看到宏哥启动Jmeter生成测试报告不是在gui页面操作的,而是在gui页面设置好保存以后,用...

    北京-宏哥
  • Jmeter(二十四) - 从入门到精通 - JMeter函数 - 中篇(详解教程)

      在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化。JMeter配置元件与前置处理器都能帮助我们进行参数化,但...

    北京-宏哥
  • Jmeter(十四) - 从入门到精通 - JMeter定时器 - 下篇(详解教程)

      用户实际操作时,并非是连续点击,而是存在很多停顿的情况,例如:用户需要时间阅读文字内容、填表、或者查找正确的链接等。为了模拟用户实际情况,在性能测试中我们需...

    北京-宏哥
  • Jmeter(四十五) - 从入门到精通高级篇 - Jmeter之网页爬虫-上篇(详解教程)

      上大学的时候,第一次听同学说网页爬虫,当时比较幼稚和懵懂,觉得就是几只电子虫子爬在网页上在抓取东西。后来又听说写代码可以实现网页爬虫,宏哥感觉高大上,后来工...

    北京-宏哥
  • Jmeter(四十八) - 从入门到精通高级篇 - Jmeter监控服务器性能(详解教程)

    JMeter是一款压力、接口等等的测试工具,Jmeter也可以像loadrunner一样监控服务器CPU、内存等性能参数,用来监控服务器资源使用情况,不过需要安...

    北京-宏哥
  • Jmeter(四十三) - 从入门到精通高级篇 - Jmeter之IP伪装和欺骗(详解教程)

    我们从小接受的教育就是不要撒谎,要做一个诚实的孩子,但是在现实生活中有时候说一个善意的谎言也不是可以的。这里由于服务器各种安全机制的限制和校验,因此我们不得不欺...

    北京-宏哥
  • Jmeter(四十六) - 从入门到精通高级篇 - Jmeter之网页图片爬虫-下篇(详解教程)

    上一篇介绍了爬取文章,这一篇宏哥就简单的介绍一下,如何爬取图片然后保存到本地电脑中。网上很多漂亮的壁纸或者是美女、妹子,想自己收藏一些,挨个保存太费时间,那你可...

    北京-宏哥
  • Jmeter(五十) - 从入门到精通高级篇 - jmeter 之模拟弱网进行测试(详解教程)

    在实际工作中,网络带宽一定不会是持续稳定的保持某一个值,而是有高有低。因此为了测试场景和实际能够无限的接近,所以我们需要模拟一下来达到效果。还有就是在实际的测试...

    北京-宏哥

扫码关注云+社区

领取腾讯云代金券