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连接数

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

面试时,面试官问道:1亿个PV,如何确定并发用户数? 
一时想不起来具体的公式,就记得80/20原则,就回答了一些。又说了一些原来我们公司会提供峰值的方法,确定最后施压的用户数。 
今天上网查相关资料,发现一些有用的内容,抄录下来。

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

网站访问统计分析的基础是获取网站流量的基本数据,根据网上营销新观察的相关文章,网站流量统计指标大致可以分为三类,每类包含若干数量的统计指标。具体的网站流量统计是通过不同的ip登陆网站来计算的,也就是说。一天内同一台机器登陆网站的次数不论是多少,在流量统计中只记为一次有效登陆,这种计算方法可以较为科学的计算出有多少人登陆过该网站,有效的防止了有意的对网站进行刷新从而增加自己网站的点击率。

网站流量指标

网站流量统计指标常用来对网站效果进行评价,主要指标包括: 
·独立访问者数量(unique visitors); 
·重复访问者数量(repeat visitors) 
·页面浏览数(page views); 
·每个访问者的页面浏览数(Page Views per user); 
·某些具体文件/页面的统计指标,如页面显示次数、文件下载次数等。

IP 是使用不同IP上网的人访问你网站的人数,也就是上面的独立访问者数量。 
一般来说是24小时同一IP不重复记录的, 也应该24小时不重复记录。(其实IP也不一定就是独立访问者数量,因为有的用户是公用一个IP的,但大致上可以认为就是今日的独立访问者数量。)

PV 则是上面的页面浏览数,是指这些访问者一共浏览了多少次你网站的页面,他是会重复记录的,你点这个网站10个页面,他就会记录10次。

所以PV一定是>=IP的,如一个网站今天的流量统计是100IP 200PV就是说今天有大致100个独立访问者,一共访问了200次页面,平均每个用户访问页面数量是 PV/IP=2 ,一般来说这个数字越大说明网站内容越吸引用户,但也和网站本身的页面有关。

吞吐量(tps)=活动的用户数/响应时间 

活动用户=并发用户*[响应时间/(响应时间+思考时间)] 
 吞吐量(TPS)=并发用户/(响应时间+思考时间) 
由此推出: 
并发用户=活动用户+吞吐量*思考时间 
并发用户=活动用户*(1+思考时间/响应时间) 
并发用户=吞吐量*(响应时间+思考时间)

并发连接数与pv的换算公式 
oncurrent connections=pv / seconds *(para connect per a page) * (time to 
React) * (factor) / (web hosts)

Pv = concurrent connections * seconds * (web hosts)/ (para connect per a page)/ (time to react)/ (factor)

concurrent connections:并发连接数

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

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

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

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

web hosts:web服务器数量

* para connect per a page,time to react,factor这三个参数要根据实际情况分析计算后,确定一个适合的值

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

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

术语说明: 
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

PS: 在实际情况中,会把这个考虑的更多一点,就是把QPS再往多了调一调,以防万一。

原文: http://www.apoidc.com/2012/12/pv-method/



      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1910581,如需转载请自行联系原作者





上一篇:《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一2.3.6 创建Counter活动


下一篇:7 天,走上 Java 进阶之旅,Spring Cloud Alibaba 七天训练营限时报名!