时间:2015-06-21 00:02:02 来源: 复制分享
我从CDN的角度做一下解释。即尚未缓存的时候,为何广告的加载比内容视频更快。
CDN系统就是用于直接提供视频播放的集群。每当有用户请求一个视频时,就会由分发系统选择拥有该视频的服务器,列出一个可用于播放的URL列表给用户来实际播放。播放器按照顺序依次找到第一个可播放的URL来播放。这个列表的顺序是动态改变的,每个用户不同,不同时间段也不同。
CDN的服务器有级别之分,一般分为3级,即大城市(北上广)、卫星城(天津、济南、宁波、湛江)、穷乡僻壤。大城市的带宽最贵质量最好速度最快,CDN系统往往只购买很少的大城市带宽。卫星城会便宜不少,质量和速度也还不错,但肯定没法跟大城市比。穷乡僻壤的带宽极其廉价,网络跳数(TTL)、ping值、丢包等参数也很吓人。
实际返回的视频URL列表也会根据多种参数进行动态调整。浏览器上一般用js存储用户最近看过的20个视频的ID。然后服务器会根据这20个视频ID评估用户价值,基于统计学的方法。具体参数有很多。当评估出来用户价值很高时,就会优先返回大城市的CDN服务器,确保用户看视频速度飞快。当用户就是个没有消费能力的人,则可能返回穷乡僻壤的URL。而大部分用户看的视频都是返回的卫星城的URL。
所以题主的问题就很明确了。每次请求视频时,广告视频妥妥的走大城市CDN服务器,而内容视频则最大的可能是卫星城CDN服务器。两者速度差别就来源于此。