谈谈并发的一些基础概念

  • pv 是指页面被浏览的次数,比如你打开一网页,那么这个网站的pv就算加了一次;
  • tps是每秒内的事务数,比如执行了dml操作,那么相应的tps会增加。
  • qps是指每秒内查询次数,比如执行了select操作,相应的qps会增加。QPS = req/sec = 请求数/秒

  • TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)
    TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
    一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的TPS值。

  • QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
    对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。

其他的解释:

上面李大头给出了详细的英文解释
pv 是指页面被浏览的次数,比如你打开一网页,那么这个网站的pv就算加了一次;
tps是每秒内的事务数,比如执行了dml操作,那么相应的tps会增加;
qps是指每秒内查询次数,比如执行了select操作,相应的qps会增加。

不同的应用系统tps,qps是没有可对比性的。例如:应用A,每个select查询需要1ms, 一个connection的话,一直不停的执行,1S内 可执行1000次,也就是1000qps应用B,每个select查询需要100ms, 一个connection的话,一直不停的执行,1S内 可执行10次,也就是10qps上面不同系统的两个qps是无法对比的,不能说哪个好哪个坏。满足业务要求才是王道。

术语说明:QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】
QPS统计方式 [一般使用 http_load 进行统计]
QPS = 总请求数 / ( 进程总数 * 请求时间 )
QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算
公式1:每天总PV = QPS 3600 6
公式2:每天总PV = QPS 3600 8

服务器计算
服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )

【峰值QPS和机器计算公式】
原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间公式:

( 总PV数 80% ) / ( 每天秒数 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器

问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 0.8 ) / (86400 0.2 ) = 139 (QPS)
问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3