tps抖动
https://blog.csdn.net/lzqinfen/article/details/46820673
tps抖动厉害的原因?
突然增加成倍的用户,如果性能表现良好,TPS应该成倍增加,响应时间不变;如果性能表现一般,TPS增加一些,响应时间增加一些;如果性能表现不好,则TPS没啥变化,响应时间增加,而且可能出现抖动现象,因为用户太多,处理不过来。是正常现象
1:观察资源抖不抖动,是否资源的抖动导致TPS抖动
2:FULL GC太过频繁,查看JVM参数配置
3:pacing设置过大
4、java编写的测试脚本,负载机JVM堆内存太小
先说下问题:
我在做性能测试时,使用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使用者千万注意咯!
jmeter之性能测试TPS解析:https://blog.csdn.net/u011197146/article/details/83273879
tps抖动的更多相关文章
- 性能测试遭遇TPS抖动问题
目前性能测试组正在对独立秒杀进行性能压测,性能抖动特别厉害. 由于独立秒杀的接口大多数是经过volicity渲染过的页面和数据的整合,所以在压测的时候有很多volicity的错误.初步判定,感觉是vo ...
- MySQL 5.7和8.0性能测试
目录 背景 前提 环境 测试 双1模式下 0 2 模式下 结论 背景 测试mysql5.7和mysql8.0 分别在读写.只读.只写模式下不同并发时的性能(tps,qps) 前提 测试使用版本为mys ...
- 【MySQL】为什么不要问我DB极限QPS/TPS
为什么不要问我DB极限QPS/TPS 背景 相信很多开发都会有这个疑问,DB到底可以支撑多大的业务量,如何去评估?对于这个很专业的问题,DBA也没有办法直接告诉你,更多的都是靠经验提供一个看似靠谱的结 ...
- 万级TPS亿级流水-中台账户系统架构设计
万级TPS亿级流水-中台账户系统架构设计 标签:高并发 万级TPS 亿级流水 账户系统 背景 业务模型 应用层设计 数据层设计 日切对账 背景 我们需要给所有前台业务提供统一的账户系统,用来支撑所有前 ...
- QPS 与 TPS 简介
QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS是Tra ...
- javascript运动系列第四篇——抖动
× 目录 [1]原理介绍 [2]代码实现 [3]实例应用 前面的话 在运动系列中,前面分别介绍了匀速运动.变速运动和曲线运动.下面介绍一种特殊的运动形式——抖动 原理介绍 抖动其实是往复运动的一种特殊 ...
- (转)解决bootstrap 模态框的页面抖动
使用bootstrap时,往往会出现页面抖动的效果,使得用户体验十分不友好. Bootstrap为了让所有的页面(这里指内容溢出和不溢出)显示效果一样,采取的方法如下: 当Modal显示时,设置bod ...
- 系统吞吐量(TPS)、用户并发量
PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联. 单个reqeust 对CPU消耗越高 ...
- C#_技巧:窗口抖动
原理 * 窗口抖动:即每隔一段很小的时间,窗口位置发生变化 * 时间控制:利用for循环||利用timer * 窗口位置发生变化:控件Left/Top属性或Location属性, 注:Left/To ...
随机推荐
- 09 Python两种创建类的方式
第一种比较普遍的方式: class Work(): def __init__(self,name): self.name = name w = Work('well woker') 这样就简单创建了一 ...
- 《HTML、CSS、Javascript网页制作,从入门到精通》——第一章 HTML基础,第二章HTML基本标记
1)HTML的基本概念 HTML就一种描述性的标记语言,是文档的超文本标记语言. 基本结构为: HTML标记组成 : <标记元素> 源文件中标记是不区分大小写的. 2)编写方法: 1&g ...
- ES6入门之Proxy
1. 概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种『元编程』即对编程语言进行编程. 1.1 理解 Proxy 是在目标对象之前架设一层『拦截』,外部对对象的访问 ...
- 关于获取某月某日最后一天时Calendar的cal.getActualMaximum(Calendar.DAY_OF_MONTH)的吐槽
例如: 在2017.03.29-31号 新建一个Calendar的単例 设置年:2017 设置月:2 int day = cal.getActualMaximum(Calendar.DAY_OF_MO ...
- orcle_day02
第三章:单值函数 函数分为: 1.单值函数 1.字符函数 2.日期函数 3.转换函数 4.数字函数 2.分组函数(后面的章节再做学习) 哑表dual dual是一个虚拟表,用来构成select的语法规 ...
- busybox介绍
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件.BusyBox 将许多具有共性的小版本的UNIX工具结合到一个单一的可执行文件.这样的集合可以替代大部分常用工具比如的GNU fi ...
- pickle和JSON的序列化
Pickle和JSON的序列化 Python的pickle模块允许我们把对象只节存储成一个特殊的存储格式,它本质上是把一个对象转换成一种可以存储到文件或者类文件对象或者一个字节字符串的格式: > ...
- Zookeeper包中,slf4j-log4j12和log4j冲突问题解决
程序启动时会有日志警告 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/E ...
- HDU 多校第四场题解
对于 D 题的原题意,出题人和验题人赛前都没有发现标算存在的问题,导致了许多选手的疑惑和时间的浪费,在此表示真诚的歉意! 预计难度分布: Easy - DJKL, Medium - ABCEG, Ha ...
- 安装theano时候发现报错:cannot install ''numpy'.It is a distutils installed project and thus we cannot ...
发现我安装theano的时候需要numpy需要1.9以上版本,而我之前自带的numpy是1.8版本,所以版本有问题.根本原因是theano需要的numpy版本不符合要求,但是numpy已经安装过了,所 ...