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