系统吞吐量、QPS(TPS)、用户并发量、性能测试概念和公式

QPS(TPS)

QPS:Queries Per Second 意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

TPS:Transactions Per Second 意思是“每秒传输的事物处理个数”,即服务器每秒处理的事务数,TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)

TPS即每秒处理事务数,包括了

  1. 用户请求服务器
  2. 服务器自己的内部处理
  3. 服务器返回给用户

这三个过程,每秒能够完成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

待整理…

参考链接: http://www.ha97.com/5095.html

坚持原创技术分享,您的支持将鼓励我继续创作!
0%