根据PV计算带宽及根据PV算并发

  • Post author:
  • Post category:其他



根据PV计算带宽


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

网站访问量的衡量标准一个是IP,另一个是PV,常以日为标准,即日独立IP和PV来计算.

访问数(IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址只被计算一次。

综合浏览量(PV):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。

二者的联系与区别:PV高不一定代表来访者多;PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量。比如一个网站就你一个人进来,通过不断的刷新页面,也可以制造出非常高的PV。

IP是一个反映网络虚拟地址对象的概念,独立用户是一个反映实际使用者的概念,每个独立用户相对于每个IP,更加准确地对应一个实际的浏览者。使用独立用户作为统计量,可以更加准确的了解单位时间内实际上有多少个访问者来到了相应的页面。

一个独立IP可以产生多个PV,所以PV个数>=IP个数。

PV(Page View)值:是指一定时间范围内所有浏览该网站的访问者请求的页面数量之合。(例如:该网站一天有500个访问者,每个访问者浏览的页面数量平均为8页,则每天的PV是500×8=4000)

Hits值:是指对每个页面元素的请求数量。(一个页面中任何一个图片或者flash文件都算是一个页面元素)

日浏览字节数:即日流量,是指一天内,访问者请求的所有页面元素的字节数之和。

计算带宽大小需要关注两个指标:峰值流量和页面的平均大小。举个例子说明下吧:

假设网站的峰值流量是平均流量的5倍(当然,这只是一个假设,具体实施我们需要视自己情况而定);

假设每次访问的平均页面大小是200K字节;

假设网站的预期目标是每天50W PV的访问量。

我们的计算开始:50W PV如果在一天内平均分布,折合到每秒大概是50W/(24*60*60)=6次访问,按照我们之前的假设平均页面大小是200K字节计算,这6次访问总 共就是1200K字节(需要注意的是这个地方是字节),字节的单位是Byte,而带宽的单位是bit,1Byte=8bit,因此1200K Byte大概就是9600K bit,也就是9Mbps(1M=1024K)。在实际的网站运行过程中,我们的网站必须要在峰值流量时保持正常的访问,这里就会用到我们之前的假设,峰 值流量是平均流量的5倍,按照这个计算,实际需要的带宽大约在9Mbps*5=45Mbps左右。



具体的计算公式是:网站独享带宽=一天总的PV值÷ 一天总时间(换算到S)*平均页面大小(单位KB)* 8



这个计算结果的前提是我们之前的三条假设,而在实际运行中,由于缓存、网站提供下载、图片较多、网站白天夜里访问量不同等原因,这个结果可能并不是很理想。所以这个算法只能算是一个大概的算法了。

eg. 10w pv,页面大小1M ,带宽=10,0000/86400*1M*8 = 9.26Mbps


PV与并发之间换算的算法换算公式




并发连接数 = PV / 统计时间 * 页面衍生连接次数 * http响应时间 * 因数 / web服务器数量

PV = 并发连接数 * 统计时间 * web服务器数量/ 页面衍生连接次数 / http响应时间 / 因数

解释:

统计时间 : pv统计的总时间,单位秒,要计算一天的pv就是86400秒

页面衍生连接次数: 一个HTML页面可能会请求好几次http连接,如外部的css, js,图片等,可以估算一下,或者用10,可根据实际情况改变

http响应时间: 可以使用1秒或更少,可根据实际情况改变

因数: 一般使用5即可,可根据实际情况计算后推出

web服务器数量: web服务器数量

* “页面衍生连接次数”,”http响应时间”,”因数”这三个参数要根据实际情况分析计算后,确定一个适合的值

推算一下。单台机器1000并发的情况下,一天是1,728,000的pv(1秒响应,10个衍生连接,因子为5的情况下)

======================================================================

例子:

保证每天多少PV的并发连接数的计算公式是:

并发连接数= PV / 统计时间(一天是86400) * 页面衍生连接次数 * http响应时间 * 因数(5) / web服务器数量

保证4千万PV的并发连接数:

(40000000PV / 86400秒 * 10个派生连接数 * 5秒内响应 * 5倍峰值) / 6台Web服务器 = 19290连接数

eg.

10PV的并发连接数:

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

Ref:

[1] http://cwind.blog.51cto.com/62582/1114405

[2] http://2804976.blog.51cto.com/2794976/786664