黄慧攀:HTML5 应用加速

8月8日,由HTML5梦工场主办的第四届HTML5峰会暨攻城师嘉年华(iWeb峰会)北京站,会上UPYUN CTO 黄慧攀表了《HTML5 应用加速》主题演讲。

以下是演讲实录:

谢谢大家。我是来自UPYUN的黄慧攀。今天我跟大家分享一些比较简单的话题,因为我们刚才好几个嘉宾分享的都是开发、框架、IDE这种工具,可能动的脑子比较多一点,所以我这个话题大家可以很轻松。即使你回去想要试一下,也就是简单个分钟就可以得到效果的东西。


我们这里说的是加速HTML5的应用,其实我可以把那个5去掉,因为我们是通用的,即使是普通的HIML应用也是一样的。这个PPT,我们今天加速的是上海站的网站,这个是我们UPYUN上海站的页面,正常情况下打开整个流程所耗的时间是2.17秒,当然这个性能也是非常好了。只要你这个页面能够在三五秒之内全部加载完成,这是比较棒的状态。我们还可以做的更快一点,因为你越快当然是越好,尤其是你做HTML5会更追求打开的速度。


在这里面,我们所介绍的工具就是全站加速,全站加速它其实的意思就是指我可以加速静态资源,包括加速你的那些动态的页面,或者说你的GS请求,或者说你的HS。起用了全站加速功能之后,你会看到我们网站整体的下载时间接近0.26秒,接近于40%的样子。这里面为什么可以达到加速40%?这里我们分析一下,测试的地点是在浙江杭州的电信,然后我们这个源站是北京的机房,所以之前的页面加载内容还是不错的。这个动态页面的加载从原来的54毫秒,过了CND耗掉143毫秒,静态资源从原来的1秒变成了300多毫秒,减少了70%的等待的时间。可能大家会去疑惑,怎么动态页面反而慢,但是总体的加速效果达到了40%?这里面主要是因为这个动态页面其实在你这一个行为里面只加载一次,但是这个动态页面所牵扯到的那些静态资源,有100多个。那如果我把一百多个加速到的话,我整体的性能是可以得到提升的,所以它能达到加速40%的结果。这里面我们用到了120多个节点,基本上覆盖到全国31个地区,电信、联通、移动这些网络。就是说我在广东或者浙江访问你这个网站的话,用户是直接在广东的电信或者广东的联通直接在广东的服务器得到响应,就避免了这种跨省的传输,所以它可以非常快。


刚才我们的主持人也介绍到,我们UPYUN从06年开始一直到现在,中间也包括了一次比较大的转型,就是从原来做图片社区,转变到现在做云服务。我们基本上有接近十年的这种技术积累,还有就是我们的这种硬件的规模也达到了一个比较庞大的程度。目前来说我们有120多个节点,全网有3000多台服务器,分布在全国各地。这张图告诉大家,边缘节点的重要性,你可以看到如果我们一个浙江电信的用户要访问我们的源站的话,他会经过首先在我家里的ADSL,然后到了浙江电信,再从浙江电信的骨干跨省到了北京电信网络里面,再从这里到了源站的服务器。这里面最不可控的部分,就是中间我们浙江电信到北京电信这一条,它是跨省的请求,尤其在晚上,这个延时会非常不稳定。因为我们全国骨干带宽是有限的,当我们全部集中在晚高峰上网的话,就会拥堵,会导致你这个省延时加大。下面这张图就是我们加载的Web七天的数据,在晚上七点到九点是数据最低的状态,平时是很稳定的,就除了一个晚高峰。并且这里还有一个问题,就是如果你的源站并不是用到了这么好的带宽,还牵扯到跨网络,比如说只有电信服务器,那我的联通和移动的用户怎么办?如果你用了这个就可以解决这个问题。另外带来的好处就是安全防护。我们UPYUN在省级的网络骨干里面主要做的事情其实就是做自己的私有骨干,就避免去跟公网去抢带宽,刚才说到在晚上的时候是拥堵,只有你自己有一定的骨干私有的带宽在那里的话,你才能保障到你自己的服务。在这里面我们主要有,比如说广东到浙江,山东到我们浙江这种长传的光纤去优化我们在全国的骨干里面,得到一个比较好的响应的速度。并且我们这里还包括了香港到广东,广东传到浙江,这是国际的网络骨干,专门做国际铺网的。目前在建的还有美国到香港,还有法国到香港的光纤电路。


刚才的东西可能大家觉得还是太简单一点,因为根本没有什么营养。后面一点会有点实际用途的就是我们再把它加速10%,道路1.06秒,这样就变成了加速到了50%,快一倍的效果。这里面主要用的是HTTPS和SPDY,可能一些不熟悉HTTP的同学说你跑HTTPS会变慢,怎么可能变快?其实我们重点看SPDY这个方面。它可以在单个Baseline链路里面加载个资源,这个是无线的,它的响应时间有点低,如果我要在HTTP链路里面做更多性能的话,就我们的经验,它起码可以相对于我们普通的HTTP请求能够提升最少30%的样子。并且我们用了HTTPS和SPDY以后还有额外的收获,它可以上我们的更加安全。这里不知道有大家遇到过这种问题,我的APK文件经常说被劫持掉,就导致有的用户下载回来的并不是他想要的内容,它很有可能被运营商那边或者被小区里边,他们经常做的内容就是劫持你的内容,第一个就是DNS劫持,第二个就是链路的截图。本来我下载一个小游戏,但是我下载回来居然变成了一个应用的商场,这种情况非常严重。另外,就是可以配合我们的HTTPS域名劫持,有域名防劫持,还有链路防劫持,基本可以百分之百确保你的内容正确。你需要获取这一切最简单的动作就是你要买一张证书,就是给你的域名买一个HTTPS的证书。这个如果到国外去买的话就是几十美金就好了,甚至还有免费的。另外就是启动CDN加速的服务。从性能和性价比上来说,我们应该是全国最高的性价比,目前才0.29元每GB。也可以加入UPYUN的联盟,每月免费15GB流量。谢谢大家,我的分享比较短一点。