PV和并发、以及计算web服务器的数量的方法

[复制链接]
查看: 768|回复: 0

10

主题

10

帖子

38

积分

新手上路

Rank: 1

积分
38
发表于 2020-2-3 12:20:41 | 显示全部楼层 |阅读模式
几个概念

网站流量是指网站的访问量,用来描述访问网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。

网站访问量的常用衡量标准:独立访客(UV) 和 综合浏览量(PV),一般以日为单位来衡量和计算。

独立访客(UV):指一定时间范围内相同访客多次访问网站,只计算为1个独立访客。

综合浏览量(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、白天夜里访问量不同等原因,这个是绝对情况下的算法。


PV与并发

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

解释:

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

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

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

例子:

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

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

还有一套通过单机QPS计算 pv 和 需要的web服务器数量的方法,目前一些公司采用这种计算方法,但是其实计算的原理都差不多的。

QPS、PV和需要部署机器数量计算公式(转)

术语说明:

QPS = req/sec = 请求数/秒

【QPS计算PV和机器的方式】

QPS统计方式 [一般使用 http_load 进行统计]

QPS = 总请求数 / ( 进程总数 *   请求时间 )

QPS: 单个进程每秒请求服务器的成功次数

单台服务器每天PV计算

公式1:每天总PV = QPS * 3600 * 6

公式2:每天总PV = QPS * 3600 * 8


服务器计算

服务器数量 =  ( 每天总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


最简单的计算方式就是根据服务器带宽与页面的大小:

1.假设机房带宽为10Mbs,页面的大小为20KB(包含所有的js、css、图片)

    同时并发量的理论值: 10*1024/(8*20)  = 64个请求/秒  

    理论上1秒钟同时可以有64个请求访问页面。

     注意:10Mbs是位(b),1个字节8位,所以要除8。

2. 假设进来的人是匀速的增加,

   根据”三秒定律”(页面打开速度3秒),可得出并发量在单位时间内应是192个请求;

    一分钟的请求量在3840。

3.根据二八定律,即80%的访问量发生在20%的时间里

     3840*24*60*0.2/0.8=1382400 人次

     而发生在每天的高峰期(大约5小时)内的在线人次在110万人次,一个小时为22W人次。

4.当然以上的计算都是理论值,如每个访问者停留页面的平均时间为1分钟左右,访问者的进入和退出都是比较符合正态分布.。

  如果是特殊情况服务器肯定是支撑不了这么多人的,例如同一时间有大批量的访问者进入,例如考试系统。又或者同时刷新页面。

而且在实际过程中,现在的页面都肯定超过20KB,那么对带宽的要求也就更大,还有同一个局域网访问情况也要考虑。


腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )