“什么是TPS 什么是QPS 什么是并发量 什么是PV 什么是UV”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
 
(未显示同一用户的6个中间版本)
第72行: 第72行:
 
      (2)如果扛不住,需要加多少台机器? -> 需要额外2台,提前预留1台更好,给3台保险
 
      (2)如果扛不住,需要加多少台机器? -> 需要额外2台,提前预留1台更好,给3台保险
 
</pre>
 
</pre>
 +
其实是同一个作者的文章
 +
[https://www.cnblogs.com/zhangweizhong/p/5844961.html 电商总结(六)系统容量预估good]
  
 
[https://www.cnblogs.com/Leo_wl/p/5851868.html 系统容量预估]
 
[https://www.cnblogs.com/Leo_wl/p/5851868.html 系统容量预估]
第171行: 第173行:
  
 
=see also=
 
=see also=
 +
[https://zhuanlan.zhihu.com/p/337708438 一文搞懂高并发性能指标:QPS、TPS、RT、并发数、吞吐量]
  
 +
[https://blog.csdn.net/leyangjun/article/details/64131491  QPS 和并发:如何衡量服务器端性能]
 +
 +
[https://www.zhihu.com/question/21556347 PV、TPS、QPS是怎么计算出来的?]
 +
 +
[https://www.cnblogs.com/zhengah/p/5160772.html  如何估算网站日承受最大访问PV ]
 +
 +
 +
[https://www.cnblogs.com/zhangweizhong/p/5772330.html 聊一聊PV和并发]
  
 
[https://blog.csdn.net/Dallin0408/article/details/78853884 QPS 和并发:如何衡量服务器端性能good]
 
[https://blog.csdn.net/Dallin0408/article/details/78853884 QPS 和并发:如何衡量服务器端性能good]

2021年5月5日 (三) 08:22的最新版本

相关站内信息

关于压力测试和并发的那些事儿

系统容量预估

二,容量评估的步骤与方法

    1:预估总访问量

    如何知道总访问量?对于一个运营活动的访问量评估,或者一个系统上线后PV的评估,有什么好的方法?

    最简单的办法就是:询问业务方,询问运营同学,询问产品同学,看产品和运营对此次活动的流量预估。

    不过,业务方对于流量的预估,应该就两个指标,pv 和 用户访问数。技术人员 需要更具这两个数据,计算其他相关指标,比如  QPS 等。具体如何计算可参照我前面一篇 pv和并发 的文章。 

 

    2:预估平均QPS

      总请求数 = 总PV * 页面衍生连接数

      平均QPS = 总请求数 / 总时间

      比如:活动落地页1小时内的总访问量是30w pv,该落地页的衍生连接数为30  ,那么落地页的平均QPS

      (30w * 30) /(60 * 60) = 2500, 

 

    3:预估峰值QPS

      系统容量规划时,不能只考虑平均QPS,而是要抗住高峰的QPS,如何评估峰值QPS呢?

      这个要根据实际的业务评估,通过以往的一些营销活动的 pv 等数据进行预估。一般情况,峰值QPS大概是均值QPS的3-5倍,日均QPS为1000,于是评估出峰值QPS为5000。

       不过,有一些业务例如“秒杀业务”比较难评估业务访问量,这类业务的容量评估不在此讨论。

 

    4:预估系统、单机极限QPS

      如何预估一个业务,一个服务器单机的极限QPS呢?

      这个性能指标,是服务器,最基本的指标之一,所以没有其他的办法,就是压力测试。通过压力测试,算出服务器的单机极限QPS 。

      在一个业务上线前,一般都需要进行压力测试(很多创业型公司,业务迭代很快的系统可能没有这一步,那就悲剧了),以APP 推送 某营销活动为例(预计 日均QPS 1000,峰值QPS 5000),业务场景可能是这样的:


      1)通过 APP 推送一个活动消息 

      2)运营活动H5落地页是一个web站点

      3)H5落地页由缓存cache、数据库db中的数据拼装而成


    通过压力测试发现,web 服务器 单机只能抗住1200的QPS,cache和数据库db 能抗住并发压力,(一般来说,1%的流量到数据库,数据库120 QPS还是能轻松抗住的,cache的话QPS能抗住,需要评估cache的带宽,这里假设cache不是瓶颈),这样,我们就得到了web单机极限的QPS是1200。一般来说,生产系统不会跑满到极限的,这样容易影响服务器的寿命和性能,单机线上允许跑到QPS 1200 * 0.8 = 960 。

      扩展说一句,通过压力测试,已经知道web层是瓶颈,则可针对web 相关的做一些调整优化,以提高web 服务器 的单机QPS 。

      还有,压力测试工作中,一般是以具体业务的角度进行压力测试,关心的是某个具体业务的并发量和QPS。

 

    5:回答最开始那两个问题     

      需要的机器  = 峰值QPS / 单机极限 QPS 

      好了,上述已经得到了峰值QPS是5000,单机极限QPS是1000,线上部署了3台服务器:

      (1)服务器能抗住么? -> 峰值5000,单机1000,线上3台,扛不住

      (2)如果扛不住,需要加多少台机器? -> 需要额外2台,提前预留1台更好,给3台保险

其实是同一个作者的文章 电商总结(六)系统容量预估good

系统容量预估

PV (page view)

页面浏览量。指的是:网站被用户访问的总页面数量,统计页面刷新的次数,每一次页面刷新,就算做一次PV流量。是网站优化的重要指标,体现网站的用户体验,内容价值等因素。

PV计算带宽

PV计算带宽

    计算带宽大小需要关注两个指标:峰值流量和页面的平均大小。

    举个例子:

       假设网站的平均日PV:10w 的访问量,页面平均大小0.4 M 。
       网站带宽 = 10w / (24 *60 * 60)* 0.4M * 8 =3.7 Mbps

    具体的计算公式是:网站带宽= PV / 统计时间(换算到S)*平均页面大小(单位KB)* 8

    在实际的网站运行过程中,我们的网站必须要在峰值流量时保持正常的访问,假设,峰值流量是平均流量的5倍,按照这个计算,实际需要的带宽大约在 3.7 Mbps * 5=18.5 Mbps 。

    PS:1. 字节的单位是Byte,而带宽的单位是bit,1Byte=8bit,所以转换为带宽的时候,要乘以 8。

       2. 在实际运行中,由于缓存、CDN、白天夜里访问量不同等原因,这个是绝对情况下的算法。

UV (unique visitor)独立访客

指访问某个站点或点击某条新闻的不同IP地址的人数,独立IP只记录第一次进入网站的具有独立IP的访问者,在同一天内再次访问该网站则不计数。

IP(internet protocol, 互联网协议)指网络之间的互联协议

在网站SEO中,通常被用作表示用户的数量。


每秒的新建链接数(CPS)

TPS:Transactions Per Second(每秒传输的事物处理个数)

即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)

TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的TPS值。


QPS:每秒查询率 QPS(Query Per Second)

QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。
计算关系: 
QPS = 并发量 / 平均响应时间 
并发量 = QPS * 平均响应时间


并发量:系统能同时处理的请求数

  RT:响应时间,处理一次请求所需要的平均处理时间

计算关系:

 QPS = 并发量 / 平均响应时间

 并发量 = QPS * 平均响应时间




每秒的新建链接数(CPS)

连接数是 最大并发连接数,
包括 活跃连接数和非活跃连接数。

Concurrency,并发数

并发计算

具体的计算公式是:并发连接数 = PV / 统计时间 * 页面衍生连接次数 * http响应时间 * 因数 / web服务器数量;


  解释:

    页面衍生连接次数: 一个页面请求,会有好几次http连接,如外部的css, js,图片等,这个根据实际情况而定。

    http响应时间: 平均一个http请求的响应时间,可以使用1秒或更少。

    因数: 峰值流量 和平均流量的倍数,一般使用5 ,最好根据实际情况计算后得出。

  例子:

    10PV的并发连接数: (100000PV / 86400秒 * 50个派生连接数 * 1秒内响应 * 5倍峰值) / 1台Web服务器 = 289 并发连接数

  所以,如果我们能够测试出单机的并发连接数,和 日pv 数,那么我们同样也能估算出需要web的服务器数量。




see also

一文搞懂高并发性能指标:QPS、TPS、RT、并发数、吞吐量

QPS 和并发:如何衡量服务器端性能

PV、TPS、QPS是怎么计算出来的?

如何估算网站日承受最大访问PV


聊一聊PV和并发

QPS 和并发:如何衡量服务器端性能good

如何估算网站日承受最大访问PV

性能指标:QPS、TPS、系统吞吐量理解

https://blog.csdn.net/cainiao_user/article/details/77146049

并发连接数、请求数、并发用户数

Web开发中,什么级别才算是高并发