本人在实际工作中所见的一部分真实数据,供参考
我所在的公司是一家提供全景服务为主要业务的公司,这个项目的主要特点是:web线上服务,有大量的小图片,大到什么程度,看下图
28G数据100万个文件,平均27KB/文件
884G数据1690多万个文件
注:这里用的oss,里边还存了少量别的东西
经粗略统计,我们的全景项目大概是这样的,一个全景项目平均有6个场景
在web请求时:
1次全景请求,首页将发起400个requests(小图片为主,js/css等为辅),后续场景平均250请求/场景(99%的小图片),当然用户在浏览时不会看场景的每一个角落,实际情况中平均在200requests/场景
首个场景大概8MB的网络流量,后续场景平均7MB/场景,实际用户不会全看,平均流量7MB左右
项目处于发展的初级阶段,日访最高的是ip1万,pv2万,现在日访平均是ip5千,pv1万,经统计,pv中有2/3是查看全景的,由平均pv值计算,查看场景的请求有6000
计算请求数
按照6000计算,则requests=6000*200(场景平均请求)=120万请求,昼夜比1:10计算,白天(10:00-22:00)110万,平均13request/s,非查看场景的request只会比这个小
实际统计值比这个高一点点
注:阿里的数据统计时间间隔默认是15秒
计算带宽数
按照6000pv计算,总流量=6000*7M=42G,昼夜1:10,白天=38.2G,每秒流量=38.2G/12小时/60分钟/60秒=0.905MB/s,换算为带宽为7.24Mbps,实际情况会低一点
经流量图对比,基本也符合这个情况
下边两个图是实际情况24小时的统计图
请求数
这4个波峰,有点骚,要追查一下原因
网络速率(1天)
这台单机跑的服务器,配置是4核8G10M带宽,由图可以看到,平均值没问题,但峰值,是绝对不够的,10M带宽,是经常跑满的,高峰期能膨胀到14M,但特么的,带宽太贵了…..客户们也经常抱怨卡的一逼…..
阿里云带宽费用平均方式
经计算阿里的带宽大概是这样的(2018/1/20价格)
5M以内部分,平均0.76元/M/天
5-20M部分,平均2.4元/M/天
我们这台服务器10M,仅带宽支出近5000块钱/年
带宽不够预算不够怎么办
我大概尝试了一下,从10M临时升级到15M,发现不够又升级20M,差不多够了但带宽太贵了,决定找别的方案(只升级了2天,花了几十块钱)
1,使用阿里的cdn,用以缓存加速
2,使用阿里的oss,进行分流加速
cdn启用较为简单,下图是对比图
oss启用简单,但需要修改现有代码逻辑,工作目前仍在进行中,以后有时间了再补充本文.
对比上边的几个流量图,17:30以后,流量有明显下降,因此CDN的效果很明显,过两天再来补充一个CDN长时间的对比图
另外,CDN是收费的,我这儿其他几个域名早已启用CDN,有数据对比,我们的项目更适合按照流量收费,因此采用这种方式
目前的流量,每天产生的CDN费用保持在50元以内(保密数据~~),比买带宽省钱~
下一步是使用oss,我这儿别的项目已经采用oss了,这个东西能节省硬盘空间和带宽费用,我自己大概测算过