PV UV QPS 并发数
PS(Transactions Per Second):每秒事务数
QPS(Query Per Second):每秒请求数,QPS其实是衡量吞吐量的一个常用指标,就是说服务器在一秒的时间内处理了多少个请求。
并发数:并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
峰值QPS:
- 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
- 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
PV(Page View):页面访问量,即页面浏览量或点击量,用户每次刷新即被计算一次
UV(Unique Visitor):独立访客,统计1天内访问某站点的用户数(以cookie为依据)
吐吞量:吞吐量是指系统在单位时间内处理请求的数量
响应时间(RT):响应时间是指系统对请求作出响应的时间,一般取平均响应时间。可以通过Nginx、Apache之类的Web Server得到。
DAU(Daily Active User),日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。DAU通常统计一日(统计日)之内,登录或使用了某个产品的用户数(去除重复登录的用户),与UV概念相似
MAU(Month Active User):月活跃用户数量,指网站、app等去重后的月活跃用户数量
通常DAU会结合MAU一起使用,这两个指标一般用来衡量服务的用户粘性以及服务的衰退周期。 MAU、DAU分别从宏观和微观的角度对服务的用户粘性做了权衡,也可以这么说,MAU更像战略层面的表征,DAU更像战术层面的表征。通过这些宏观和细微的趋势变化,可以对营销及推广提供一些数据支持或者帮助。
QPS(每秒查询数)、TPS(每秒事务数)是吞吐量的常用量化指标,另外还有HPS(每秒HTTP请求数)。
QPS(TPS)、并发数、响应时间它们三者之间的关系是:
- QPS(TPS)= 并发数 / 平均响应时间
- 并发数 = QPS * 平均响应时间
-
这只是QPS的一种计算方式,实际中我还用到过通过打桩压测计算某台机器的QPS,此种方式也比较准确。
举例说明:
假设服务并发度为1500,RT为150ms,那么该服务的QPS 为10000 = 1500(并发数) / 0.15 (RT) ,假如通过压测一台机器的QPS为500,那么该服务需要20台这样的机器。
举例说明:
例1:
假设1秒钟100个请求,处理每个请求需要花2秒,
那么 50(每秒可以处理50个请求,即QPS使50) = 100(每秒并发数) / 2 (每个请求的平均处理时间)
这是一台机器的QPS,如有每秒并发数为1000,那么就需要10台这样的机器才扛得住:
例2:
每天200万PV,那么它的QPS = (2000000 * 0.8)/ (24*60*60*0.2)≈ 93
假设按照上面那样一台机器的QPS是50,那么抗住每天200万PV的访问量需要2台这样的机器
性能测试工具:
- apache ab
- http_load
关于Nginx访问量统计: