• 1
  • 0
分享

一、为什么要分布式并发?

JMeter性能实践过程中,一旦进行高并发操作时就会出现以下尴尬场景,JMeter客户端卡死、请求错误或是超时等,导致很难得出准确的性能测试结论。目前沐沐知道的有两个方法可以解决JMeter支撑高并发,一是将JMeter部署在Linux服务器上,可以支撑的并发量远大于windows客户端,极少出现JMeter客户端卡死的情况;另外一种方式就是今天要介绍的分布式,简单来说,分布式就是将一次大的操作分布在多个服务器上,由多个服务器来承担负载压力。分布式并发的原理详见下图:

1111111111.png 

二、分布式并发实现步骤

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,启动成功后如下图所示:

 22222.png

2、配置完成后重启主压力机,查看远程启动,可查看到配置的远程负载机IP,如下图:

33333333.png

3、添加一个接口,进行远程启动

(1)添加一个线程组,然后添加一个Sampler里的HTTP请求

444444444.png

(2)以百度为例,添加监听器->查看结果树

5555555.png

(3)点击运行->远程全部启动,运行后查看结果树:

777.png

截止目前,分布式并发的配置已经完成,如果需要添加多台远程负载机,重复以上操作即可。

三、遇到问题

配置过程虽然很简单,但是也不是一帆风顺,在远程启动时遇到了拒绝链接的问题,如下截图显示:

888888888.png

遇到这种情况时,可能存在多种因素,可以参考以下步骤逐一排查

  1. 远程负载机的Jmeter-server是否启动成功;

  2. 远程负载机是否处于联网状态;

  3. 防火墙是否处于关闭状态;

  4. 主压力机和远程负载机的Jmeter版本是否一致;

沐沐在实战过程中也出现了这个问题,经过一番排查终于找到问题原因,是因为远程负载机上启动JMeter时,用jmeter.bat进行的启动,而不是jmeter-server.bat;希望大家在不要像沐沐一样,犯这样低级的错误。

The more we share,The more we have.

希望这篇文章对大家有用...

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,基本上涵盖了软件测试工程师需要掌握的全部技能,希望对刚入行或者准备学习测试的朋友提供一点指引。  1.测试基础理论  不管有没有计算机基础,测试理论的学习都是首要的,不管你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。  主要包括常见的软件开发流程及模型,尤其是解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如b...
            9 9 1090
            分享
          •   学一门技术,实现经济独立才是最大的安全感!很多姐妹问我软件测试是干什么的?怎么学?今天给大家分享一下。  先说软件测试是干什么的?  简单点说就是检测bug,是由专业的测试人员对软件进行性能、稳定性、质量等进行检测的过程,软件测试工程师对产品质量直接起着决定性作用。  那为什么大家转行更愿意做测试呢?  最主要的原因就是软件测试比开发简单,其次就是平时的工作比较轻松,加班较少,而薪资待遇并不比开发低多少。  这里给想学软件测试的小伙伴们一些很实用的建议  第一点,刚入门的时候,测试策略设计能力和测试用例设计能力是初级测试最核心的竞争力。  第二点,想在这个行业深耕的话,开发能力很重要,时间...
            0 0 363
            分享
          • 笔者从自己负责测试的项目出发,讲述下自己做测试管理的一些故事,从流程管理和团队管理两方面,分享下自己做管理过程中的一些心得和思考,供各位参考。流程管理流程简述我们测试的项目是一个APP端类的产品,迭代周期时一个月一个迭代。每个月月初启动迭代,经过两周的开发设计周期,各需求开发实现后,即提交给测试,以需求为单位进入测试周期。整个迭代有约两周的测试时间完成全部需求的测试,进入发布环节,并在当月完成发布。到下一个月,进入下一个迭代。任务拆分我们项目的版本周期是一个月一次迭代,迭代周期较长,每次迭代的任务量也相对比较多。因此,任务就需要进行合理的拆解,分配给不同的小伙伴。在团队管理上,我将团队打散成多...
            1 1 2225
            分享
          • web页面问题定位:第一步:前后端判断先判断是前端还是后端的问题,如果是接口请求响应数据是正常的,则进一步定位前端问题。前端问题可以通过F12打开调试模式,切换到source 页面进行查看是否是js文件内的语法错误,或者是资源文件位置未找到等问题第二部:后端具体原因分析后端接口请求异常,则可通过状态码进行判断400--请求语法错误,也就是前后端语法定义不一致401--未授权403--服务端拒绝访问404--资源不存在500--服务器内部错误如果遇到磁盘满了,就需要看应用程序是否活着,如果活着则返回500(服务器处理异常),若是应用程序已经死了,则返回400资源不存在了app端和服务端问题定位:...
            0 0 2523
            分享
          • 1.3.域名系统1.3.1.域名系统工作原理DNS解析过程是递归查询的,具体过程如下:用户要访问域名www.example.com时,先查看本机hosts是否有记录或者本机是否有DNS缓存,如果有,直接返回结果,否则向递归服务器查询该域名的IP地址递归缓存为空时,首先向根服务器查询com顶级域的IP地址根服务器告知递归服务器com顶级域名服务器的IP地址递归向com顶级域名服务器查询负责example.com的权威服务器的IPcom顶级域名服务器返回相应的IP地址递归向example.com的权威服务器查询www.example.com的地址记录权威服务器告知www.example.com的地...
            0 0 1256
            分享
      • 51testing软件测试圈微信