QPS(TPS)
QPS:Queries Per Second 意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS:Transactions Per Second 意思是“每秒传输的事物处理个数”,即服务器每秒处理的事务数,TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)
TPS即每秒处理事务数,包括了
- 用户请求服务器
- 服务器自己的内部处理
- 服务器返回给用户
这三个过程,每秒能够完成N个这三个过程,TPS也就是N。
QPS与TPS的区别
QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。
例如:访问一个页面会请求服务器3次,产生一个“T”,产生3个“Q”。
再举个例子:假如一个大胃王一秒能吃10个包子,一个女孩子0.1秒能吃1个包子,那么他们是不是一样的呢?答案是否定的,因为这个女孩子不一定能在一秒钟吃下10个包子,她可能要吃很久。这个时候这个大胃王就相当于TPS,而这个女孩子则是QPS。虽然很相似,但其实是不同的。
系统吞吐量
一个系统的吞吐量(承压能力)与request(请求)对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数和响应时间
- QPS(TPS):每秒钟request/事务数量
- 并发数:系统同时处理的request/事务数量
- 响应时间:一般取平均响应时间
tip: 很多人经常会把并发数和TPS理解混淆
理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)= 并发数/平均响应时间(秒)
或者
并发数 = QPS*平均响应时间
一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。
QPS = 1000/(30*60) 事务/秒
平均响应时间为 = 5*60 秒
并发数 = QPS平均响应时间 = 1000/(3060) (560)=166.7
待整理…