性能測试JMeter趟的坑之JMeter的bug:TPS周期性波动问题
先说下问题:
我在做性能測试时,使用JMeter搞了100个并发,以100TPS的压力压測十分钟,但压力一直出现波动。并且出现波动时JMeter十分卡,例如以下图:
周期性TPS波动
各种猜測:
所以開始找环境的各种原因,起初以为是JMeter的连接被“劫持”了,不然JMeter也不会卡的。所以,花了整整一下午时间。去排除压測机环境、被压測环境(TCP连接数、程序上的问题等等),但一直没找到原因。
后来。换成LR后,压測正常。所以開始怀疑是JMeter自身的问题。
原因找到:
后来想起来,我被測场景的脚本是老的脚本,也是在JMeter2.8上的。然后我如今用的JMeter是2.13,难道是脚本的兼容性问题?
问题解决:
各种替换。最后才定位到了是CSV Data Set Config的问题。仅仅要我用2.8的脚本上的CSV Data Set Config进行參数化,哪怕是这个參数我没实用。一压測就出现TPS波动;我禁用后,新建了一个CSV Data Set Config。全部数据保持不变,再次压測,OK!
这个坑真大!希望Apache组织可以改动下,肯定是老版本号的CSV Data Set Config在新版本号的JMeter压測时,调度存在问题,导致本地的压力不稳定,并且关键的是,这个导致JMeter太卡了。
问题解决后的压力例如以下:稳稳的,我要稳稳的幸福~
下图非常稳定了。波动在3TPS范围
还有其它坑:
PS:另外,再给大家补充个坑。就是JMeter插件的资源监控问题,将agent放到Linux上去监控资源,cpu和内存都没什么问题。但假设你监控tcp的连接话,就要注意了,这个监控能够吃掉15%左右cpu资源,4核单板的喔,并且是sys的cpu高非常多。
应该是这块监控的算法不够优化,占用了太多的资源。请各位JMeter使用者千万注意咯!
By:Fresh.Qin
最新文章
- hadoop-2.6.0-src源码导入Eclipse 转载
- async和await
- 24 映射-Map
- VBO, VAO, Generic Vertex Attribute
- [MOSEK] Mosek求解中遇到的奇葩内存问题
- 业务系统的JVM启动参数推荐
- 暑假集训(4)第八弹——— 组合(hdu1524)
- MongoDB C driver API continues
- mongoDB创建数据库用户
- 前端-如何用gulp快速搭建项目(sass预编译,代码压缩,css前缀,浏览器自动刷新,雪碧图合成)
- [爬虫]BeautifulSoup4
- 洛谷P1072 Hankson的趣味题
- matlab数据导入verilog仿真
- Pycharm4.5注册码 激活
- C#编程(八十二)---------- 用户自定义异常类
- Hive自定义函数UDF和UDTF
- Openfire源码阅读(一)
- OpenStack的架构详解[精51cto]
- Exp5
- adjustPan 没作用
热门文章
- Lex与Yacc学习(三)之符号表
- Hi3519V101 Uboot和Kernel编译
- Java-将字符串转为数字
- 【01】报错:webpack 不是内部或不可执行命令
- iOS 开发之多线程之GCD
- Caffe 编译: undefined reference to imencode()
- 持续集成---jenkins环境部署
- [BZOJ1604] [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(好题)
- Codeforces 894.A QAQ
- 【2018.11.22】CTSC2018(模拟赛!)