【Fine原创】JMeter分布式测试中踩过的那些坑

最近由于项目须要,研究了性能测试的相关内容,而且最终选用了jmeter这一轻量级开源工具。由于一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具自己对资源的过量消耗给性能测试带来了瓶颈,通常线程加到100左右就会出现工具自己没法支撑的问题,普遍了解解决办法后,发现分布式部署测试机还是首选方案。
 
关于如何配置jmeter分布式部署测试机不少博客上已经描述得很详细了,这里就再也不赘述,能够参考虫师的博客:
 
如今单纯记录一下在部署分布式测试机的过程当中踩过的那些坑。
 
五星坑:远程启动测试,响应数据为空。
controller运行jmeter脚本后,GUI无性能数据返回。
 
 
 
 
agent的jmeter server显示链接后当即结束。看似执行实则响应数据为空。
 
 
 
出现以上状况缘由及解决办法:
 
一、jmeter脚本和测试数据(若是有的话)主机和从机两边都要存放。且controller中jmeter脚本、测试数据的存放路径和agent中jmeter脚本、测试数据的存放路径一致。
  二、在缘由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分布式测试算是勉强进入正确轨道,将踩过的坑作个备忘。感谢团队的努力,也但愿能和你们一块儿学习、分享、进步。
相关文章
相关标签/搜索