最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具。因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈,一般线程加到100左右就会出现工具本身无法支撑的问题,广泛了解解决办法后,发现分布式部署测试机仍是首选方案。
 
关于如何配置jmeter分布式部署测试机很多博客上已经描述得很详细了,这里就不再赘述,可以参考虫师的博客:
 
现在单纯记录一下在部署分布式测试机的过程中踩过的那些坑。
 
五星坑:远程启动测试,响应数据为空。
controller运行jmeter脚本后,GUI无性能数据返回。
 
 
 
 
agent的jmeter server显示连接后立即结束。看似执行实则响应数据为空。
 
 
 
出现以上情况原因及解决办法:
 
1、jmeter脚本和测试数据(如果有的话)主机和从机两边都要存放。且controller中jmeter脚本、测试数据的存放路径和agent中jmeter脚本、测试数据的存放路径一致。
 2、在原因1的基础上,controller的测试数据地址要用绝对路径,agent的测试数据绝对路径或相对路径均可。
 
 
解决办法:文件地址修改统一后,运行成功。(run是自己打的log)
(注意:也因为路径一致的原因,目前我也没办法把windows和mac电脑混合配置成分布式测试机,这里是清一色的windows系统)
 
 
四星坑:agent的VM或共享盘符会干扰远程连接
agent如果安装有vm或将某个盘设置了共享权限的时候,controller在配置该agent时除IP地址外,虚拟机ip或者共享盘ip也会出现在远程连接待选列表中,连接时报错。
 
 
 
解决办法:关闭或卸载虚拟机,撤销盘符共享
 
三星坑:jmeter运行时报内存溢出outfmenmory错误。
 
该问题博客上已经有很多同行给出了解决办法,比如修改jmeter.bat的预设内存大小。参考疯狂的tiger的博客吧:
 
 
二星坑:由于防火墙未关闭或测试controller和agent不在同一个网段会影响远程连接。
 
 
 
解决办法:关闭agent的防火墙。contrller和agent在同一网段,比如我这里就选择了同一个WIFI,配置同一个DNS等方法解决。
 
 
至此,jmeter分布式测试算是勉强进入正确轨道,将踩过的坑做个备忘。感谢团队的努力,也希望能和大家一起学习、分享、进步。
 

【Fine原创】JMeter分布式测试中踩过的那些坑的更多相关文章

  1. 『动善时』JMeter基础 — 58、JMeter分布式测试

    目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在 ...

  2. Jmeter Web 性能测试入门 (七):Performance 测试中踩过 Jmeter 的坑

    脚本运行的过程中,大量request抛error,但没有地方能够查看request是因为什么error的. 原因:Jmeter默认禁掉了运行过程中每个request的具体response信息收集,只保 ...

  3. Jmeter分布式测试的各种坑之jmeter-server修改ip

    第一坑:启动压力机的时候,直接./jmeter-server,会报如下错误 错误原因:127.0.0.1是本机, 一个回路地址, 没有指定地址 正确的启动方式:启动命令加一个参数, IP地址写压力机对 ...

  4. jmeter分布式测试的坑

    转 : jmeter分布式测试的坑 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出 ...

  5. 转 : jmeter分布式测试的坑

    有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfig ...

  6. 为什么 jmeter 分布式测试,一定要设置 java.rmi.server.hostname

    之前总结了 jmeter 分布式测试的过程,在部署过程中提到,要在 system.properties 中配置自己的 IP. 至于为什么要这么做,源于这一次 debug 的过程. 运行环境 mint, ...

  7. Jmeter分布式测试实战

    一.Jmeter分布式测试基础 1.Jmeter分布式测试原因: 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对负载机的CPU和内存消耗比较大.所以当需要模拟数以万计的并 ...

  8. JMeter 分布式测试部署

    对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能. 以下参数分析可用于配置 ...

  9. Jmeter分布式测试需要注意事项

    Jmeter分布式测试需要注意事项: 1. 如果脚本中有用到CSV Data Set Config,则所有的模拟机都必须在相应的目录下存在该文件.如下图,则必须所有模拟机的F盘下都有user.txt文 ...

随机推荐

  1. Jenkins 命令

    Jenkins 服务集群环境的启动命令 #必须在root下启动 sh /home/jenkins/tomcat/bin/startup.sh dubbo服务注册中心 zookeeper启动命令 /we ...

  2. Groovy入门经典 随书重点

    1 数值和表达式 1.1数值 整数是Integer类的实例 有小数部分的数值是BigDecimal类的实例 不同于java,没有基础数据类型 一切皆对象的概念重于java 1.2表达式 两个整数的除法 ...

  3. action和servlet的关系

      在struts2.0中,可以通过ServletActionContext.getRequest()获取request对象. 在action的方法中return一个字符串,该字符串对应struts. ...

  4. 当 jquery.unobtrusive-ajax.js 遇上Web API

    最近在熟悉Abp框架,其基于DDD领域驱动设计...前段可以绕过mvc直接调用根据app层动态生成的webapi,有点神奇~,Web API之前有简单接触过,WCF的轻量级版,一般用于做一写开发性的服 ...

  5. WCF初探-28:WCF中的并发

    理解WCF中的并发机制 在对WCF并发机制进行理解时,必须对WCF初探-27:WCF中的实例化进行理解,因为WCF中的并发特点是伴随着服务实例上下文实现的.WCF的实例上下文模型可以通过Instanc ...

  6. 揭秘JavaScript中谜一样的this

      揭秘JavaScript中谜一样的this 在这篇文章里我想阐明JavaScript中的this,希望对你理解this的工作机制有一些帮助.作为JavaScript程序员学习this对于你的发展有 ...

  7. 在MyEclipse中配置Tomcat服务器

    http://wenku.baidu.com/link?url=j0rrOEvt10zgsJVWX3wuV26uVc2fz5MhIusvLWzvK_KZWMKq60wuDaMnHGck0PR6sCrU ...

  8. C# 通过反射类动态调用DLL方法

    网上看了很多关于反射的思路和方法,发现这个还算不错 //使用反射方: using System; using System.Collections.Generic; using System.Linq ...

  9. Bootstrap<基础一> CSS 概览

    HTML 5 文档类型(Doctype) Bootstrap 使用了一些 HTML5 元素和 CSS 属性.为了让这些正常工作,您需要使用 HTML5 文档类型(Doctype). 因此,请在使用 B ...

  10. JAVA 序列化

    一.概念 序列化:将对象转换为字节序列的过程. 反序列化:将字节序列恢复为对象的过程. 二.简单示例 package serialization; import java.io.Serializabl ...