性能测试关注指标-TPS概述

一、TPS(Transaction per Second)定义

TPS是Transactions Per Second 的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户端向服务器发送请求然后服务器做出反应的过程。客户端在发送请求时开始计时, 收到服务器响应后结束计时,以此来计算使用的时间和完成的事务数。

二、TPS的作用

  1. TPS反应了系统在单位时间内处理业务的能力,这个值的高低,说明了系统处理能力的高低。TPS随着时间的变化逐渐变化,TPS会收到负载的影响,也会随着负载的增加而逐渐增加,当系统进入高压力区时,TPS会有所下降,在继续加压的话,就是开始出现少量的失败事务。

  2. TPS是从客户端角度审视服务器处理能力,并不是说TPS可以达到什么程度就能支持多少并发,也不是设置了多少并发就等于达到了多少TPS的量(例如一个业务100个交易,另一个业务10个交易,或者设置了100的并发线程数,但是当前单位时间内,有排队等待的虚拟用户),两者没有必然的联系。

  3. TPS=脚本运行期间所有事物总数/脚本运行时长,如果有集合点策略,在脚本执行前的等待时间过程中,服务器没有处理事物,这个时候的TPS和理论中的结果会不一致。

  4. 影响TPS的因素,有以下几点:服务器本身性能问题、代码处理的问题、客户端施加的压力问题(客户端本身如果出现瓶颈,TPS会上不去)、网卡(带宽)。

三、TPS与响应时间

  1. TPS短时间内随着并发的升高是逐渐增大的,而响应时间应该是额定不变的值,此时,说明并发数不是太高,TPS也没有达到最大值,服务器的处理能力还没有饱和,可以尝试增加并发数,使TPS继续增高达到峰值。

  例如,地铁进站口,如果有五个刷卡进站的口,每个人从刷卡到进站估计需要两秒,这是有1个乘客,2个乘客,3个乘客,需要的时间都是两秒,而进站口还有几个剩余,没有充分利用。这个时候可以适当提高乘客进站数量。

  2. 如果继续增加并发,达到100,例如进站乘客数大于5,需要的时间就会增大,如果继续增加人数,会造成线程等待,平均响应时间增加,从原来的2秒增加到10秒,TPS也会降低,两者在宏观上是成反比的,但是两者的值是分别计算出来的,没有直接必要的关系。

(QPS)TPS指标概述的更多相关文章

  1. 测算Redis处理实际生产请求的QPS/TPS

    测算Redis处理实际生产请求的QPS/TPS Benchmark工具 redis发布版本中自带了redis-benchmark性能测试工具; 示例: 使用50个并发连接,发出100000个请求,每个 ...

  2. IOPS QPS TPS

    杨奇龙: http://blog.itpub.net/22664653/viewspace-767265/ http://blog.itpub.net/22664653/viewspace-76726 ...

  3. 阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) ,阿里百万级QPS资源调度系统,一般的服务器qps多少? QPS/TPS/并发量/系统吞吐量

    阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) 作者:用户 来源:互联网 时间:2016-03-30 13:32:40 安全流量事件https互联网资源 摘要:  ...

  4. QPS/TPS/并发量/系统吞吐量概念和公式

    1.概念 我们在日常工作中经常会听到QPS/TPS这些名词,也会经常被别人问起说你的系统吞吐量有多大.一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联,单个req ...

  5. QPS/TPS/并发量/系统吞吐量的概念

    我们在日常工作中经常会听到QPS/TPS这些名词,也会经常被别人问起说你的系统吞吐量有多大.这个问题从业务上来讲,可以理解为应用系统每秒钟最大能接受的用户访问量.或者每秒钟最大能处理的请求数: QPS ...

  6. mysql状态查看 QPS/TPS/缓存命中率查看【转】

    运行中的mysql状态查看   对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态.    (1)QPS(每秒Query量)  QPS = Questions(or Queries ...

  7. Mysql 监控性能状态 QPS/TPS【转】

    QPS(Query per second) 每秒查询量 TPS(Transaction per second)每秒事务量 这是Mysql的两个重要性能指标,需要经常查看,和Mysql基准测试的结果对比 ...

  8. 【MySQL】为什么不要问我DB极限QPS/TPS

    为什么不要问我DB极限QPS/TPS 背景 相信很多开发都会有这个疑问,DB到底可以支撑多大的业务量,如何去评估?对于这个很专业的问题,DBA也没有办法直接告诉你,更多的都是靠经验提供一个看似靠谱的结 ...

  9. 聊聊QPS/TPS/并发量/系统吞吐量的概念

    原文:聊聊QPS/TPS/并发量/系统吞吐量的概念 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cainiao_user/article/deta ...

随机推荐

  1. linux加域退域

    realm list realm leave od.com realm join -U Administrator od.com

  2. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 04)

    -------------------- interface 接口 // 定义: type IHumaner interface { SayHi() // 接口中只能是方法声明,没有实现,没有数据字段 ...

  3. Java解析XML格式串(JDOM解析)

    import java.io.IOException; import java.io.StringReader; import java.util.List; import org.jdom.Docu ...

  4. 打开Eclipse提示“The default workspace “xxxx” is in use or cannot be created Please choose a different one“

    原因:出现这种情况一般是workspace的配置文件中出现了.lock文件(workspace/.metadata/.lock),锁定了workspace.把.lock文件删除即可. 如果该文件不能删 ...

  5. jqeury 基础

    jquery 选择器: 基本选择器:#id ..class.*(匹配所有) 层次选择器: $(div span) 选取<div>里的所有的<span>元素. $(div> ...

  6. windows 2008 server R2 服务器docker安装

    1.安装包选择 windows win10 较新版本,使用 Get Docker for Windows (Stable) 或者 Get Docker for Windows (Edge) 其余使用  ...

  7. Git远程操作详解(新手必备)

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  8. windows下的一些命令

    dir 相当于linux下的ls clear 清屏 netstat 活动连接 | 管道命令 findstr 查询类似linux的grep tasklist 查看进程列表 taskkill 杀死进程 d ...

  9. trigger 触发器(mysql)

    /* 触发器 tigger 引出触发器: 在进行数据库应用软件的开发的时候,我们有时候会碰到表中的某些数据改变,同事希望引起其他相关数据改变的需求,这时候就需要使用触发器. 运用触发器可以简化程序,增 ...

  10. Android敏捷开发、CI(持续集成)探究

    比较老的几篇文章,依旧有学习价值 http://blog.csdn.net/baodinglaolang/article/details/9530695 http://blog.csdn.net/ba ...