php教程 php手册 我优化YouTube视频播放页面的故事

我优化YouTube视频播放页面的故事

Jun 21, 2016 am 08:50 AM
youtube

 

三年前,当我还在YouTube做一名web程序员时,有一位资深的工程师发了一通牢骚,说播放视频的页面体积太大。这个页面体积已经膨胀到了高达 1.2MB,包含有数十次的请求。这个工程师公开的宣称说,“如果他们Quake能在100KB的体积下克隆出我们的页面,我们没有理由达不到这个体 积!”因为我同意他的观点,并且我正在找新的任务,于是就决定接受这个挑战,让YouTube的视频播放页面的体积减到100KB以下。那天晚上从旧金山 回家的火车上,我编写了一个基本的原型。我决定限制页面上的功能数,只保留一个标题,一个视频播放器,五个相关视频,一个分享按钮,一个插旗工具和十条评 论——是通过AJAX加载的。我把这个任务命名为“羽毛”。

即使这样一个有限的功能,页面的体积仍然达到250KB。我深入代码查看,发现我们的优化工具(比如闭包编译工具)无法清理这个页面上实际没有使用 的代码(也许不该责备这些工具,这种情况下任何工具都做不到)。想进一步减少代码,唯一的方法就是手工优化CSS,JavaScript和图片。经过辛苦 的三天努力,我已经把页面做到了相当的精瘦,但仍然没有低于100KB。因为我刚刚写完了一个HTML5视频播放器,我决定用它来替换体积笨重的 Flash播放器。砰!98KB,只有14个请求。对这个页面设置了一些基本监视后,我们对一小部分人开放了这个页面。

经过了一周数据的收集,数据有了,但它们却让我困惑。羽毛版下的页面的总体平均延迟时间实际上是增加的。我减少了总的页面体积,减少了页面请求的次数,但数据显示在加载羽毛视频播放页却花了更长的时间。这是不可能的事情。深入挖掘数据,经过在浏览器上的反复试验,没有任何结果。我基本上要放弃这个版本了,我的信仰几乎被完全击溃,正在此时,一个同事发现了其中的奥秘:地理因素

当我们标注了数据的地理信息,把所有信息按区域划分进行对比,我们看到了地区,比如东南亚,南美,非洲,甚至西伯利亚等地在流量上呈现的不对称增加。进一步调查揭示,在这些地区,羽毛版的页面的平均加载时间超过2分钟!这意味着,一个普通的视频,大概1兆左右,会需要20分钟来加载!人们为了等待这个页面就如此痛苦,更别提视频了。可纵观这些地区,他们之前根本无法观看YouTube,因为等了很久也看不到什么。而在羽毛版下,尽管要等2分钟才能看到视频的第一帧,但不管怎样,事实上是可以看到了。在过去的一周里,羽毛版在这个地区很受欢迎,所以我们的数据被他们弄的完全不平均了。大量以前不能观看YouTube的人现在突然可以了。

通过开发羽毛,我学到了一个关于世界其它地方网络状况的很有价值的认识。我们很多人有幸能生活在一个有高速宽带的地方,但实际上仍然有很大的区域不是这样。通过让客户端的代码变少变轻,你就能完全开启一个新的市场。

[本文英文原文链接:Page Weight Matters ]



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iPhone 13에서 YouTube의 백그라운드 재생을 활성화하는 방법은 무엇입니까? iPhone 13에서 YouTube의 백그라운드 재생을 활성화하는 방법은 무엇입니까? Apr 25, 2023 pm 07:25 PM

iPhone 13에서 YouTube의 백그라운드 재생을 활성화하는 방법은 무엇입니까?

'문제가 발생했습니다. 다시 시도하려면 클릭하세요.' iPhone의 Youtube 오류 [해결됨] '문제가 발생했습니다. 다시 시도하려면 클릭하세요.' iPhone의 Youtube 오류 [해결됨] Apr 14, 2023 pm 01:04 PM

'문제가 발생했습니다. 다시 시도하려면 클릭하세요.' iPhone의 Youtube 오류 [해결됨]

iPhone 또는 iPad에서 YouTube '문제가 발생했습니다. 다시 시도하려면 클릭하세요' 오류 수정 iPhone 또는 iPad에서 YouTube '문제가 발생했습니다. 다시 시도하려면 클릭하세요' 오류 수정 May 03, 2023 pm 12:43 PM

iPhone 또는 iPad에서 YouTube '문제가 발생했습니다. 다시 시도하려면 클릭하세요' 오류 수정

유튜브는 어떤 소프트웨어인가 유튜브는 어떤 소프트웨어인가 Feb 19, 2021 pm 02:55 PM

유튜브는 어떤 소프트웨어인가

Snapdragon X Elite CPU 성능은 Vivobook S15 벤치마크에서 배터리와 AC 전원에서 거의 동일합니다. Snapdragon X Elite CPU 성능은 Vivobook S15 벤치마크에서 배터리와 AC 전원에서 거의 동일합니다. Jun 21, 2024 am 06:50 AM

Snapdragon X Elite CPU 성능은 Vivobook S15 벤치마크에서 배터리와 AC 전원에서 거의 동일합니다.

EV 고속도로 주행거리 테스트에서 모델 3만이 주행거리 과대평가를 한 것이 아님이 밝혀졌습니다. BMW i5가 실망스러운 가운데 Mercedes EQE가 선두를 달리고 있습니다. EV 고속도로 주행거리 테스트에서 모델 3만이 주행거리 과대평가를 한 것이 아님이 밝혀졌습니다. BMW i5가 실망스러운 가운데 Mercedes EQE가 선두를 달리고 있습니다. Jun 22, 2024 am 10:09 AM

EV 고속도로 주행거리 테스트에서 모델 3만이 주행거리 과대평가를 한 것이 아님이 밝혀졌습니다. BMW i5가 실망스러운 가운데 Mercedes EQE가 선두를 달리고 있습니다.

See all articles