随着网站数据量和用户量的不断增长,网站带宽流量成为不可忽视的问题,几乎所有的互联网网站都开始面对大容量的CDN和大规模的分布式部署。对于视频类网站来说,这种压力尤其明显,因此,其对带宽流量的管理需求更加迫切。
土豆网技术副总裁、彩虹流量和xBaynet的创立者黄冬先生
在10月21日举办的“QCon杭州2011全球企业开发大会”上,土豆网技术副总裁、彩虹流量和xBaynet的创立者黄冬先生为大家分享了土豆网在带宽流量管理方面的经验和体会,同时,黄冬在演讲中也透露了一些带宽流量计费方面的“潜规则”。
带宽流量计费的几条“潜规则”
黄冬表示,在与运营商做带宽将诶算的时候,一般会采用峰值计费法。不过,对于具体的执行细节,国内外运营商的计量方面却有所不同。
计算流量峰值通常会以5分钟为一个间隔单位,在每个五分钟里找到一个流量峰值点,这样在一个月里,你会得到很多个峰值点。那么,运营商做计费时是根据五分钟内的峰值数据,还是一小时内的总峰值,或是更长时间的计算来找到当天的峰值呢?这一规则在国内并不是透明的,很多企业其实并不清楚运营商是如何得出价格表的。而在国外,比较通用的方法是“九五计费”法。我们每五分钟得到一个峰值计费点,然后将一个月内所得到的所有峰值按从低到高排列,取第95%位置的峰值为计费点来收费。
但是,即便是这种方法,也存在容易被忽略的“潜规则”。比如,我有三个千兆口,运营商是对三个口分别做九五计费,还是综合做峰值计费?这两个数值是不一样的。
黄冬说,由于企业很难拿到运营商的交换机数据,所以我们通常是拿企业自己的服务器来计算。得出的数据通常与运营商在他的交换机上的数据是有差距的。这种差距存在于服务器“握手”时的一些数据、存在于TCP/IP的包头的数据、重传的数据等位置。不过,黄冬总结说,这种差距所造成的带宽损耗率只占实际环境中测试的3%左右,因此那些网络流量整形的公司,原则上所能优化的范围不会超过这3%。
衡量带宽流量用户体验的三把尺子
了解到带宽流量的消耗数据之后,还有一个问题需要我们关注:我们所提供的带宽流量对用户来说是不是用户体验足够好的状况?
黄冬介绍,衡量这个用户体验有三把不同的“尺子”:“ 所有互联网的应用都是浏览器或应用发出request,然后服务器回应response”。因此,衡量用户体验的尺子可以放在三个不同的位置:服务器端、浏览器端、中间部分。黄冬介绍说,土豆网采用的度量工具是在服务器端,而腾讯的“尺子”在浏览器端,百度的则是在中间层面即网络层来度量用户体验。
之所以将土豆网的带宽用户体验衡量工具放在服务器端,黄冬表示,主要是因为,“在服务器上不用做一点开发”,他说,“如果我在客户端放这把尺子,就需要前端的工程师配合我。我在服务器端配置有一次只用了两小时就做完了”。黄冬介绍说他使用的在服务器端的度量的“尺子”有两个:Apache2.x中的%D ,nginx中的Srequest_time。
对于三种方法的优劣,黄冬表示,在服务器端部署容易,但缺点是只能通过数据“猜”用户体验好还是不好,而在浏览器端可以看出加载时间快慢,至于中间层的那把“尺子”,由于耗费成本比较大,如果资金不足可以不做。黄冬建议企业分三步走来衡量用户体验:第一步在服务器上做,因为最简单。第二步是在浏览器端上做,最后一步可以选择在网络层做。
演讲最后,黄冬用五个要点总结了网站计费和流量管理的工作技巧:用尺去度量体验;用计费去优化成本;将来源匹配向最合适的服务点;事后度量;事后审计。
【编辑推荐】