海棠小说 > 都市言情 > 大时代之巅 > 正文 第698章 如何提高网页的加载速度?
    周大老板很高兴,“国内像朋友这样的大站还有不少,比如qq空间,那皮肤设计的花里胡哨,加载进去得0秒钟。还有淘宝,那么多商品图片,想打开页也非常缓慢。咱们要帮帮同行啊!”

    张一明泼了冷水,“这事没那么容易,涉及到很多方面。”

    “怎么回事?”

    “这事技术委员会讨论过,可以让搜索业务、浏览器业务跟朋友同步进行,三个项目同时启动,彼此联动。可项目资金有点大,被否了。”

    然后,张一明就简单的解释了这其中的原理。

    页的加载过程,背后的逻辑并不简单。

    用户需要通过浏览器,跟站进行“握”互动,获得站许可了,就进入站服务器,提取其站数据。

    然后把数据渲染出来,就变成呈现在用户屏幕前的页了。

    提取的数据,如果是线性的,那么线的呈现方式就是一个模块接着一个模块的传统方式。如果并行的提取,是分布式的,站的加载就可以像瀑布那样的从上到下,很迅速。

    可这技术别人都没有。

    而且,这也只是页加载提速的一部分。

    这个过程中,浏览器需要跟站履行一系列的络协议,三次握、四次握,协议达成了之后,才能开始提取数据。

    过程太繁琐。

    如果能简化这个流程,页加载速度就能提高。

    还有,浏览器和站服务器是顺序、线性执行的关系,服务器必须等待浏览器的请求,这样就会造成服务器的空闲。浏览器工作时,服务器在等待,而服务器工作时,浏览器在等待,这也是一种时间上的浪费。

    假如双方能同时工作、并行工作,就可以提高速度。

    并行就是分布式。

    第三点,用户在使用站的过程中,就是浏览器和站服务器交互的过程,这个期间需要不停的发送信号,浏览器申请、服务器允许,申请、允许,申请、允许不停的握,不停的交互。

    如果把后续的这些过程尽可能的省略,减少服务器发送请求,就可以大大的节省站服务器的负载,带来性能上的提升

    周不器听得云山雾罩,可大体上是听懂了。

    就是页的读取过程太复杂,背后涉及到太多的络协议。要想改变这种情况,除了改善站自身的信息供给方式外,就要修改旧的络协议,或者想办法通过技术段绕开。

    张一明道:“目前是web20时代,核心技术是ajax,有一定的技术门槛。现在的主流站,一般都使用这个技术。盗站之所以加载速度慢,除了服务器差之外,很大原因是没有这个ajax。”

    “哦。”

    周不器呆呆地。

    张一明又道:“可是随着时代的发展,ajax技术也有些跟不上时代。有数据统计过,打开一个页,平均要耗时45秒钟,这太难以接受了。必须出现新的技术段替代传统方案,分布式就是会。”

    周不器对技术很感兴趣,可是又听不太懂,很有一种清晨看黄山的感觉,雾茫茫的一片美好,宛若仙境。

    这大概就是外行的好处。

    因为离着远,所以觉得特别美好,就心甘情愿地愿意买票进场。要真是内部人士了,知道登山那么难,恐怕白给他门票,都懒得去参观。

    除非是真正的登山爱好者,有着发自内省的兴趣和追求。

    “你就怎么做吧?”

    “这次一共申请了9个相关的项目,我觉得这朋友、搜索和浏览器的这三个项目,有必要尽快启动。”

    “哦?”

    “朋友这个过了,搜索的项目就是微点搜索做的一个站优化。传统的打开页的方式,是浏览器直接去页服务器采集数据,这个过程中有大量协议。如果让微点搜索组建一个部门,把站备份过来。用户在使用微点搜索的时候,就不需要再去访问站服务器了,而是直接可以从我们的备份库中读取,就相当于绕开了协议。”

    周不器试探着:“也节省了从搜索引擎向外站跳转的时间?”

    张一明笑道:“对!用户使用微点搜索,其实就进入了微点的服务器。直接在微点的服务器里读取备份的页,效率就更高了。”

    周不器点了点头,“嗯,有意思。”

    张一明道:“很多站技术不够,做不到分布式。可把备份放在微点的服务器里,就可以分布式读取了。速度就更快了。而且,还有商业化前景。”

    “是吗?”

    “可以跟站合作,作为微点的一种推广服务。商家肯定也希望自己的站能够更快地呈现在用户的电脑屏幕前。他们的技术不够,就可以跟微点合作,交一笔钱,把站文本信息备份在我们的服务器里,相当于我们帮他们做优化。”

    周不器若有所思的道:“不仅如此,参与了该项目的商家,在同等条件下,站权重可以更高一些,在搜索结果中排在更高的位置。”

    张一明笑道:“对,就这个意思。”

    周不器奇怪,“既然是商务项目,还被王浩阳否了?”

    张一明很无奈的道:“要买大容量的服务器啊,这个项目的预估投资是5000万。朋友的项目资金才2000万。”

    “那浏览器的项目呢?”

    “改变协议不可能,可是我们可以通过分布式技术优化浏览器和服务器握的过程,取消等待时间,让双方同时工作。如果做到了,那么使用微点浏览器打开页,效率至少能再提高20%左右。”

    周不器虚心的问:“用分布式交互,可以提高浏览器对页的渲染速度?”

    张一明道:“对!”

    这一下,周不器就懂了。

    难怪一代王者ie浏览器会败在谷歌浏览器的下,最终放弃了自家的浏览器内核,而选择了谷歌内核。

    这其中的关键因素就是分布式啊。

    谷歌是分布式的祖师爷,在这个领域拥有最强实力。分布式技术厉害了,其浏览器内核自然就会更加强大。

    谷歌浏览器打败ie,完全是技术上的碾压,哪怕ie有wndw系统做捆绑都没用。

    谷歌浏览器目前还没诞生,微点浏览器只能使用ie内核,可以通过分布式技术进行一定的优化。

    这三个项目做下来是递进式的。

    朋友的项目,优化自身站的加载速度;

    微点搜索的项目,优化合作站的页加载速度;

    浏览器项目,优化所有使用微点系浏览器的页加载速度。

    很有意义啊!

    周不器忍不住问:“假如这三个项目都做成了,用户通过微点浏览器,通过微点搜索来使用朋友,需要多少时间?”

    “大约效率能提升50%。目前朋友的平均加载速度将近4秒钟,都做成了,可以缩短到2秒钟。”

    “啊?”周不器有些失望,感觉也高不到哪去,“不是朋友自己的项目,加载时间就只是传统模式的20%吗?”

    张一明笑道:“这不是一个概念,朋友的项目,只是加载的先后顺序变了,先加载呈现给用户的第屏的内容,总体加载时间没有变化。只是给用户的印象,好像是加载时间变快了。”

    周不器想明白了什么,“是不是加载完了第屏的内容,用户们只能看,却没法用?必须要等全部页面加载完了之后,才能真正地使用?”

    张一明道:“对,是这样。”

    在这种模式下,用户打开朋友,前两秒钟的时间是只能浏览、只能看。因为页面还在加载过程中。等全部加载完毕了,用户才能发表状态、回复留言之类的交互操作。

    周不器皱皱眉,“可不可以进一步的升级,第屏的内容加载完毕了,用户就可以对第屏的内容进行操作。操作和加载互不影响。不是分布式吗?并行着一起来啊,不耽误吧?”

    张一明沉默了好一会儿,“理论上来讲,是可以做的。不过目前来看,技术上有难度。”

    “做不出来?”

    “把页不同的功能模块并行加载,其实都属于加载模组。可交互和加载是两个相矛盾的模组,有先后关系。如果把这两块并行起来,需要对页底层框架进行修改。技术难度大,工程量也大。”

    “多久能做出来?”

    张一明道:“我觉得得一步步来,分布式算法的应用大家都是第一次接触,先从简单的做,再向更难的去研究。首先得有资金上的保障。”

    周不器笑道:“你话中有话啊!”

    张一明感慨道:“我觉得这三个项目很重要,有必要第一时间启动。分布式是世界前沿的技术,我们却做出来了。工程师们都很兴奋,在跃跃欲试。我觉得不能拖的太久,冷却了大家的热情。”

    “不就是要钱嘛。”

    “当然,我很尊重公司的决定。融资在即,的确不适合有大笔的支出。”

    周不器稍作沉吟,问道:“这三个项目,需要多少钱?”

    张一明道:“朋友2000万就够了,王浩阳也批准了。浏览器项目需要3000万,微点搜索的项目需要5000万。后两个都没批。”

    周不器好笑道:“这个老王,批了一个花钱最少的项目来填技术委员会的胃口,真是行了,我这就给他打电话,让他马上给钱!个亿只是个目标,我还不差这点钱!”