(QPS)TPS指标概述
性能测试关注指标-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指标概述的更多相关文章
- 测算Redis处理实际生产请求的QPS/TPS
测算Redis处理实际生产请求的QPS/TPS Benchmark工具 redis发布版本中自带了redis-benchmark性能测试工具; 示例: 使用50个并发连接,发出100000个请求,每个 ...
- IOPS QPS TPS
杨奇龙: http://blog.itpub.net/22664653/viewspace-767265/ http://blog.itpub.net/22664653/viewspace-76726 ...
- 阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) ,阿里百万级QPS资源调度系统,一般的服务器qps多少? QPS/TPS/并发量/系统吞吐量
阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) 作者:用户 来源:互联网 时间:2016-03-30 13:32:40 安全流量事件https互联网资源 摘要: ...
- QPS/TPS/并发量/系统吞吐量概念和公式
1.概念 我们在日常工作中经常会听到QPS/TPS这些名词,也会经常被别人问起说你的系统吞吐量有多大.一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联,单个req ...
- QPS/TPS/并发量/系统吞吐量的概念
我们在日常工作中经常会听到QPS/TPS这些名词,也会经常被别人问起说你的系统吞吐量有多大.这个问题从业务上来讲,可以理解为应用系统每秒钟最大能接受的用户访问量.或者每秒钟最大能处理的请求数: QPS ...
- mysql状态查看 QPS/TPS/缓存命中率查看【转】
运行中的mysql状态查看 对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态. (1)QPS(每秒Query量) QPS = Questions(or Queries ...
- Mysql 监控性能状态 QPS/TPS【转】
QPS(Query per second) 每秒查询量 TPS(Transaction per second)每秒事务量 这是Mysql的两个重要性能指标,需要经常查看,和Mysql基准测试的结果对比 ...
- 【MySQL】为什么不要问我DB极限QPS/TPS
为什么不要问我DB极限QPS/TPS 背景 相信很多开发都会有这个疑问,DB到底可以支撑多大的业务量,如何去评估?对于这个很专业的问题,DBA也没有办法直接告诉你,更多的都是靠经验提供一个看似靠谱的结 ...
- 聊聊QPS/TPS/并发量/系统吞吐量的概念
原文:聊聊QPS/TPS/并发量/系统吞吐量的概念 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cainiao_user/article/deta ...
随机推荐
- 第五天 Linux基本命令
tty控制台终端 tty1~tty6? ctrl + alt + F2~F6 切换控制台 alt + F1 返回 但是使用 在图形化界面,使用init 3后,不能使用alt + F1返回,因为两者 ...
- Loadrunner 11检查点使用方法总结
在使用Loadrunner 11进行性能测试中,有时需要对性能测试中的功能是否全部正确进行判断.这里就需要用到“检查点”,本文总结了常用三种协议下检查点的使用方法,希望阅读本文后的小伙伴们能够掌握其使 ...
- Centos6安装MariaDB-yum方式
1.创建安装目录: mkdir /data/mysql/ mkdir /data/mysql/datafile mkdir /data/mysql/logfile 2.创建用户: useradd -r ...
- bzoj3401
题解: 单调栈 一个一个压入 然后比下面高就弹出 代码: #include<bits/stdc++.h> using namespace std; ; int n,tot,a[N],z[N ...
- Centos下找不到eth0设备的解决方法
问题描述: ifconfig命令无法找到eth0设备,且/etc/sysconfig/network-scripts/中只有ifcfg-lo文件,而没有ifcfg-eth0. 临时解决方法一: 使用命 ...
- c# 一个记录日志的通用方法
public static string WriteFile(string strText, string path) { Encoding code = Encoding.GetEncoding(& ...
- Lua的清屏快捷方式
1. Lua (Command Line) 这里清屏的方式是: os.execute("cls") 就是执行了DOS中的清屏命令! 2.SciTE中的清屏方式: -----(1)第 ...
- Leetcode 429. N-ary Tree Level Order Traversal
bfs class Solution: def levelOrder(self, root: 'Node') -> List[List[int]]: q,ans=[root],[] while ...
- Python IDLE 的使用与调试
Python IDLE 是Python 安装包自带的集成开发环境.IDLE集成了Python 解释器.编辑器与调试器.适用于初学者了解Python 语法知识.1.使用 Python IDLE 编辑Py ...
- python中处理命令行参数的模块optpars
optpars是python中用来处理命令行参数的模块,可以自动生成程序的帮助信息,功能强大,易于使用,可以方便的生成标准的,符合Unix/Posix 规范的命令行说明.使用 add_option() ...