性能测试关注指标-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. nginx和php-fpm的启停和配置

    一.nginx的启停 (1) 启动nginx /etc/init.d/nginx start (2) 停止nginx /etc/init.d/nginx stop (3) 重启nginx /etc/i ...

  2. HDU 4665 Mutiples on a circle (圆环DP)

    题意 N个数的圆环上有多少种方案可以使得选出来的一段数是K的倍数(N<=50000, K<=200, a[i]<=1000). 思路 多校第七场1004.圆上的DP--大脑太简单处理 ...

  3. Sql server日期函数操作

    1.获取前一小时内的数据:DATEADD(HOUR,-1,GETDATE()),将"HOUR"替换成DAY,Month,YEAR就是前一天,前一月,前一年 2.获取日期部分,格式为 ...

  4. C# 与vb.net 的Dictionary(字典)的键、值排序

    项目中可能需要用到Dictionary 排序,于是先做了一个小demo ,网上搜索真的没有能满足我需要的,都是类似的,于是理解改造,一上午就在查找,实践中过去了.现在把它实现了,把代码贴出来,算是一个 ...

  5. HTML条件注释判断浏览器版本命令

    <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![ ...

  6. NI FPGA板卡程序设计概述

    NI公司提到了三种不同应用开发环境ADE:http://www.ni.com/white-paper/5956/zhs/ LabVIEW是NI公司主推的ADE,采用G语言(图像化语言),支持力度最大 ...

  7. 第7课:sql注入、操作session、cookie实例、网络编程、操作Excel

    1. 简单讲一些sql注入的内容 name = 'zdq' sex = '女' cur.execute("select * from bt_stu where real_name='%s'& ...

  8. L161

    The robot arm made for gentle undersea explorationA soft robotic arm which will allow underwater sea ...

  9. C++开发人脸性别识别教程(6)——通过SVM实现性别识别

    http://blog.csdn.net/u013088062/article/details/50480518

  10. 图像和流媒体 -- Sapera 安装遇到的问题

    一.下载安装包 参看:Genie Nano M1930-NIR 点击软件及例程下载 二.安装遇到的问题 (1)Installation directory must be on a local har ...