性能测试关注指标-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命令详解-cal

    cal命令可以用来显示公历(阳历)日历.公历是现在国际通用的历法,又称格列历,通称阳历."阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故 ...

  2. 十四 web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码

    打码接口文件 # -*- coding: cp936 -*- import sys import os from ctypes import * # 下载接口放目录 http://www.yundam ...

  3. buffer与cache的区别

    top命令中有两项与内存相关的东西:buffer和cache.这两项与页高速缓存相关.磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的. 在linux内 ...

  4. Java导出Excel(有数据库导出代码)

    /** * 导出 * @param request * @param response * @throws Exception */ @SuppressWarnings("unchecked ...

  5. Highcharts 向下钻取饼图

    Highcharts 向下钻取饼图 配置 drilldown 配置 drilldown 用于向下钻取数据,通过点击某项深入到其中的具体数据. drilldown: { series: drilldow ...

  6. 【hive】多表插入

    from or_table insert overwrite table1 name1 select … insert into table2 name2 select … 注意:select 后边不 ...

  7. 【nyoj-1233】差值

    描述 输入一个整数数组,将它们连接起来排成一个数,找出能排出的所有数字中最大,最小的两个,输出两个数的差值.例如输入数组{1,  2},则输出9.     输入 第一行输入一个整数T,表示有T组测试数 ...

  8. 【fzu-2261】浪里个浪

    TonyY是一个喜欢到处浪的男人,他的梦想是带着兰兰姐姐浪遍天朝的各个角落,不过在此之前,他需要做好规划. 现在他的手上有一份天朝地图,上面有n个城市,m条交通路径,每条交通路径都是单行道.他已经预先 ...

  9. 在微信里面打开链接,显示501 Not Implemented,但是同样的链接在其他浏览器是可以打开的。

    在微信里面打开链接,显示501 Not Implemented,但是同样的链接在其他浏览器是可以打开的. 显示: 还原:该链接在2017年之前微信还是可以访问的. 访问的地址格式是:http://xx ...

  10. ios 第3天

    在手动引用计数中  每一次调用 retain  retainCount 就会加一  每一次release  retainCount就会减一 当retainCount 为零时  就会free (p) ; ...