性能測试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
性能測试JMeter趟的坑之JMeter的bug:TPS周期性波动问题的更多相关文章
- mongodb3.0 性能測试报告 一
mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver 共6台 cpu: 单颗8核 ...
- Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试
百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...
- 系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式
PS:以下是性能測试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...
- Linux 性能測试工具
Linux 性能測试工具 linux performance 查看系统配置 查看CPU信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64- ...
- LR杂记 - 性能測试指标及经常使用的监控工具
监控指标 性能測试通常须要监控的指标包含: 1.serverLinux(包含CPU.Memory.Load.I/O). 2.数据库:1.Mysql 2.Oracle(缓存命中.索引.单条SQL性能.数 ...
- PHP归档phar性能測试
PHP自从5.3后新增PHAR归档,Phar 归档的概念来自 Java™ 技术的 JAR 归档,它同意使用单个文件打包应用程序.这个文件里包括运行应用程序所需的全部东西.该文件不同于单个可运行文件,后 ...
- Redis源代码分析(十三)--- redis-benchmark性能測试
今天讲的这个是用来给redis数据库做性能測试的,说到性能測试,感觉这必定是高大上的操作了.redis性能測试.測的究竟是哪方面的性能,怎样測试,通过什么指标反映此次測试的性能好坏呢.以下我通过源代码 ...
- 微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服
微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服 2014/10/08 · Testin · 开发人员訪谈 2013年11月1日,谷歌运行董事长施密特(Eric Emerson Sch ...
随机推荐
- python爬虫入门七:pymysql库
我们使用python爬取得到的数据,有时候会数据量特别大,需要存入数据库. 需要注意的是,MySQL是一种关系型数据库管理系统,利用MySQL可以对数据库进行操作,而MySQL并不是一个数据库. 而p ...
- ACM训练联盟周赛 K. Teemo's reunited
Teemo likes to drink raspberry juice. He even spent some of his spare time tomake the raspberry jui ...
- WEB框架——WEB框架本质
武sir http://www.cnblogs.com/wupeiqi/articles/5237672.html
- Clojure基础
最近看了一段clojure,下面是从书上摘下来的一下语言基础的精华部分 ;函数的基本形式 (defn average [numbers] (/ (apply + numbers) (count num ...
- [android开发篇]安装android sdk的时候请注意
第二就是: 如果要国内镜像的话: 3.大连东软信息学院镜像服务器地址: http://mirrors.neusoft.edu.cn 端口:80 随便选择一个就行啦.这里我选择的是第三个站点,即大连东 ...
- Caffe 编译: undefined reference to imencode()
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/52150781 整理之前编译工程中遇到的 ...
- 在windows下安装flex和bison、GCC
学习Stellar-core 需要依赖项flex .bison .gcc三个依赖项 下载得网址:链接: https://pan.baidu.com/s/1mitCLcs 密码: 3jaj 通过 w ...
- nginx反向代理+负载均衡+https
A服务器(192.168.133.1)作为nginx代理服务器 B服务器(192.168.133.2)作为后端真实服务器 访问https://www.test.com请求从A服务器上反向代理到B服务器 ...
- php文档php-fpm.conf配置
cat php-fpm.conf|grep -v "^;"|grep -v "^$" [global] pid = run/php-fpm.pid //pi ...
- PIL:Python Imaging Library(图像处理标准库)和Qrcode:二维码生成
安装PIL Mac或Linux安装命令:sudo easy_install PIL 如果报错:fatal error: 'freetype/fterrors.h' file not found Mac ...