cdn云加速能否做到动态内容的加速?还有上传加速?
CDN是什么?同时Yslow和pagespeed也把CDN作为一条很重要的性能优化法则。 CDN目前做的事情一般国内的大公司现在都已经建设了自己的CDN服务,如:百度、淘宝、腾讯。 目前主要功能是加快静态资源的传输,如:js\CSS\图片。尤其是图片服务,由于数据量非常大,非常依赖CDN的加速。 仔细想想,其实还可以利用CDN做更多的一些事情。 CDN还可以做什么?1、动态内容的加速上面说到,现在CDN主要是用于静态资源的加速,对于动态内容由于要经过机房后端程序的处理,那如何加速呢? 当然肯定不能将所有的后端程序都在CDN上部署一遍,这肯定不现实。 其实可以在CDN上做一层代理,用户对于动态内容的访问首先到达CDN,然后CDN通过代理访问机房,由于CDN和机房之间是服务器对服务器的数据传输,所以非常的快。 这种方式虽然理论上可以行的通,主要有下面2个问题: 1): 流量的加倍 由于机房的流量本身不会减少,同时CDN要多一层流量,所以流量相对之前加倍了。但由于小城市的流量费用很低,在流量费用上不会加倍,如:北京的费用是其他二线城市流量费用的十倍。 2): 动态内容本身不大 由于动态内容本身不大,GZIP之后可能也不超过20K,所以带来的效果不太好说。 用于动态内容的加速,由于不确定性比较多,效果和收益需要评估,但可以作为一种性能优化的方式去研究。 2、大文件上传的加速由于中国的网络主要还是ADSL,并且还是非对称的,也就是上行速度和下行速度是不一样的。据相关的数据统计,上行速度是下行速度的1/4,差的地方达到了1/20。 也就是说如果当前的下载速度有100K,那么上传速度可能只有25K,并且可能还会小。 针对这种情况,对于相册或者云盘这样的服务,就需要对上传性能进行优化了。 优化方式实际上也是在CDN上建立代理,用户上传文件先到达CDN,然后通过CDN传到机房。 这种方式虽然带来了流量的双倍,但一般一个服务上传流量相对与下载流量可以忽略不计,即使双倍了也没什么问题。 ps: 对于图片上传的服务,由于上传时间较长,并且用户的网络不稳定,之前的统计数据来看,经常出现上传失败的情况,通过这种方式也是解决上传失败一个很好的办法。
|