先说下问题

我在做性能測试时,使用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  

最新文章

  1. hadoop-2.6.0-src源码导入Eclipse 转载
  2. async和await
  3. 24 映射-Map
  4. VBO, VAO, Generic Vertex Attribute
  5. [MOSEK] Mosek求解中遇到的奇葩内存问题
  6. 业务系统的JVM启动参数推荐
  7. 暑假集训(4)第八弹——— 组合(hdu1524)
  8. MongoDB C driver API continues
  9. mongoDB创建数据库用户
  10. 前端-如何用gulp快速搭建项目(sass预编译,代码压缩,css前缀,浏览器自动刷新,雪碧图合成)
  11. [爬虫]BeautifulSoup4
  12. 洛谷P1072 Hankson的趣味题
  13. matlab数据导入verilog仿真
  14. Pycharm4.5注册码 激活
  15. C#编程(八十二)---------- 用户自定义异常类
  16. Hive自定义函数UDF和UDTF
  17. Openfire源码阅读(一)
  18. OpenStack的架构详解[精51cto]
  19. Exp5
  20. adjustPan 没作用

热门文章

  1. Lex与Yacc学习(三)之符号表
  2. Hi3519V101 Uboot和Kernel编译
  3. Java-将字符串转为数字
  4. 【01】报错:webpack 不是内部或不可执行命令
  5. iOS 开发之多线程之GCD
  6. Caffe 编译: undefined reference to imencode()
  7. 持续集成---jenkins环境部署
  8. [BZOJ1604] [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(好题)
  9. Codeforces 894.A QAQ
  10. 【2018.11.22】CTSC2018(模拟赛!)