QPS/TPS/并发量/系统吞吐量的概念
我们在日常工作中经常会听到QPS/TPS这些名词,也会经常被别人问起说你的系统吞吐量有多大。这个问题从业务上来讲,可以理解为应用系统每秒钟最大能接受的用户访问量。或者每秒钟最大能处理的请求数;
QPS: Queries Per Second,每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS。
TPS:Transaction Per Second,每秒钟处理完的事务次数,即服务器每秒处理的事务数。TPS包括一条消息入、一条消息出和一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)。一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。
并发量:Throughput,系统能同时处理的请求数
RT:Tesponse Time,响应时间,处理一次请求所需要的平均处理时间
CAPS:CAPS (Call Attempts Per Second)每秒建立呼叫数量。
计算关系: QPS = 并发量/ 平均响应时间 并发量 = QPS * 平均响应时间 假设一个请求平均耗时5秒,有10个人来处理请求。那么qps=10/5=2. qps的意思是平均1秒处理完多少个请求。
TPS是每秒处理事务数,包括了从请求服务器->服务器处理->返回给用户这个过程,每秒能完成多少个这个过程就是多少TPS QPS跟TPS类似,对于一个页面的一次访问,形成一个Tps;但一次页面请求,可能产生多次对服务器的请求,这些请求会计为QPS 例如:访问一个页面请求了三次服务器,则产生一个TPS 3个QPS。