精灵巫婆 发表于 2015-1-16 22:16:06

PHP编程:我优化YouTube视频播放页面的故事

根据功能来进行封装等。很多的不懂,在使用搜索引擎查找,或者请教老师和在老师详细的讲解、指导下,都能顺利解决。
三年前,当我还在YouTube做一位web程序员时,有一名资深的工程师发了一通怨言,说播放视频的页面体积太年夜。这个页面体积已收缩到了高达1.2MB,包括无数十次的哀求。这个工程师公然的传播鼓吹说,“假如他们Quake能在100KB的体积下克隆出我们的页面,我们没有来由达不到这个别积!”由于我批准他的概念,而且我正在找新的义务,因而就决意承受这个应战,让YouTube的视频播放页面的体积减到100KB以下。那天早晨从旧金山回家的火车上,我编写了一个基础的原型。我决意限定页面上的功效数,只保存一个题目,一个视频播放器,五个相干视频,一个分享按钮,一个插旗工具和十条评论——是经由过程AJAX加载的。我把这个义务定名为“羽毛”。

即便如许一个无限的功效,页面的体积仍旧到达250KB。我深切代码检察,发明我们的优化工具(好比闭包编译工具)没法清算这个页面上实践没有利用的代码(大概不应叱责这些工具,这类情形下任何工具都做不到)。想进一步削减代码,独一的办法就是手工优化CSS,JavaScript和图片。经由辛劳的三天勉力,我已把页面做到了相称的精瘦,但仍旧没有低于100KB。由于我方才写完了一个HTML5视频播放器,我决意用它来交换体积粗笨的Flash播放器。砰!98KB,只要14个哀求。对这个页面设置了一些基础监督后,我们对一小部分人开放了这个页面。
经由了一周数据的搜集,数占有了,但它们却让我狐疑。羽毛版下的页面的整体均匀提早工夫实践上是增添的。我削减了总的页面体积,削减了页面哀求的次数,但数据显现在加载羽毛视频播放页却花了更长的工夫。这是不成能的事变。深切发掘数据,经由在扫瞄器上的重复实验,没有任何了局。我基础上要保持这个版本了,我的信奉几近被完整击溃,正在此时,一个同事发明了个中的奥妙:地舆要素。
当我们标注了数据的地舆信息,把一切信息按地区分别举行对照,我们看到了区域,好比西北亚,南美,非洲,乃至西伯利亚等地在流量上出现的不合错误称增添。进一步伐查展现,在这些区域,羽毛版的页面的均匀加载工夫凌驾2分钟!这意味着,一个一般的视频,也许1兆摆布,会必要20分钟来加载!人们为了守候这个页面就云云疾苦,更别提视频了。可纵不雅这些区域,他们之前基本没法寓目YouTube,由于等了好久也看不到甚么。而在羽毛版下,只管要等2分钟才干看到视频的第一帧,但不论如何,现实上是能够看到了。在已往的一周里,羽毛版在这个区域很受接待,以是我们的数据被他们弄的完整不屈均了。大批之前不克不及寓目YouTube的人如今俄然能够了。
经由过程开辟羽毛,我学到了一个关于天下别的中央收集情况的很有代价的熟悉。我们良多人有幸能生存在一个有高速宽带的中央,但实践上仍旧有很年夜的地区不是如许。经由过程让客户真个代码变少变轻,你就可以完整开启一个新的市场。
[本文英文原文链接:PageWeightMatters]
开发相册系统过程中就有过这样的问题,因为没有交流好,出现重复工作问题,因为文档没有详细的说明而经常临时问对方。

小妖女 发表于 2015-1-17 16:37:23

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

老尸 发表于 2015-1-20 23:52:07

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

飘灵儿 发表于 2015-1-30 07:54:56

环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。

再见西城 发表于 2015-2-6 08:54:48

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

金色的骷髅 发表于 2015-2-15 20:45:49

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

第二个灵魂 发表于 2015-3-4 13:53:47

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

乐观 发表于 2015-3-11 19:58:14

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

不帅 发表于 2015-3-19 10:47:29

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

深爱那片海 发表于 2015-3-27 21:09:59

实践是检验自己会不会的真理。
页: [1]
查看完整版本: PHP编程:我优化YouTube视频播放页面的故事