JMeter实现分布式并发

发表于:2018-3-20 08:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:瑾沐沐    来源:51Testing软件测试网原创

  一、为什么要分布式并发?
  沐沐是一个性能测试的初学者,入门装备选择的是开源、轻量、易上手的JMeter。可是性能实践过程中,一旦进行高并发操作时就会出现以下尴尬场景,JMeter客户端卡死、请求错误或是超时等,导致很难得出准确的性能测试结论。因此,众里寻解上百度,方知需要分布式。简单来说,分布式就是将一次大的操作分布在多个服务器上,由多个服务器来承担负载压力。分布式并发的原理详见下图:
  二、分布式并发实现步骤
  1、打开Jmeter,在运行->远程启动,可以看到只有"127.0.0.1"因此首先要在主压力机上配置远程负载机的IP,配置步骤如下:
  (1)Master(主压力机)在jmeter.properties中添加remote_hosts
  配置路径:...\apache-jmeter-3.2\bin 路径下的jmeter.properties;
  remote_hosts=127.0.0.1 后面增加远程负载机的ip和端口号,如果需要添加多个,用逗号分隔就可以;
  例如:remote_hosts=192.168.**.***:1099,192.168.**.***:1099
  (2)Slave(远程负载机)在jmeter.properties中添加server_port:
  server_port=1099
  server.rmi.localport=1099
  (备注:这里的端口号可以自定义,只要与主压力机里面配置的一致即可)
  (3)Slave(远程负载机)启动Jmeter-server,启动成功后如下图所示:
  2、配置完成后重启主压力机,查看远程启动,可查看到配置的远程负载机IP,如下图:
  3、添加一个接口,进行远程启动
  (1)添加一个线程组,然后添加一个Sampler里的HTTP请求;
  (2)以百度为例,添加监听器->查看结果树
  (3)点击运行->远程全部启动,运行后查看结果树:
  截止目前,分布式并发的配置已经完成,如果需要添加多台远程负载机,重复以上操作即可。
  三、遇到问题
  配置过程虽然很简单,但是也不是一帆风顺,在远程启动时遇到了拒绝链接的问题,如下截图显示:
  遇到这种情况时,可能存在多种因素,可以参考以下步骤逐一排查
  (1)远程负载机的Jmeter-server是否启动成功;
  (2)远程负载机是否处于联网状态;
  (3)防火墙是否处于关闭状态
  (4)主压力机和远程负载机的Jmeter版本是否一致;
  沐沐在实战过程中也出现了这个问题,经过一番排查终于找到问题原因,是因为远程负载机上启动JMeter时,用jmeter.bat进行的启动,而不是jmeter-server.bat;希望大家在不要像沐沐一样,犯这样低级的错误。还是那句老话"The more we share,the more we have",将分享进行到底...
相关推荐:《51测试天地—原创测试文章系列(四十八)》
版权声明:本文出自51Testing原创,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • ywsmart
    2018-3-20 15:10:56

    可以的

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号