CDN加速实际效果和理论性能差距太大

天下武功,唯快不破!

网页速度很重要

作为一个博客网站,最为重要的当然是注重于内容。在呈现内容的时候,保持简洁很有必要:重点突出想要给读者阅读的内容,除此之外,还有一个因素也非常重要:页面打开的速度。你能花10秒钟的时间等待一个网页打开吗?即使是再有名的网站也会让把人等跑,现在的人们都没有耐心,何况浪费别人的时间更无异于谋杀别人的生命。

影响博客打开速度的原因很多,软的方面比如页面优化、静态化等技术手段自然不必说。难以改变的是硬件方面,主机服务器性能是否足够好?服务器所在的地理位置离目标读者远近如何?这些因素一般在购买主机后,就难以改变了:一分钱一分货,古今中外,概莫能外。

CDN网站加速

CDN技术的出现,似乎为改善网站的性能提供了一条可行之路,至少理论上可行。为什么新浪、搜狐等门户网站在国内任何一个地方的访问速度几乎一样快?放眼全球,YouTube在全球的访问速度为什么都那么快(暂不包括中国大陆)?答案就是他们都运用了CDN技术——分布式内容分发网络,对于每一个访客都采用最近的线路分发内容。

个人博客也可以采用这样的思路来加速访问速度,何况还有这么多免费的CDN加速服务,无论你的博客是否备案,都有相应的服务。不过我最近发现免费的CDN加速服务理论与实际差距太大。由于没有备案,我选择了CDNZZ来加速,因为这个服务相比起其它的服务,有位于香港的加速主机,理论上比其他的国外服务要好些。

CDN实际加速效果

首先看看DNS解析速度,未用CDN之前,使用DNSPod.cn的解析服务:

最快:美国20毫秒,最慢:深圳[联通]392毫秒,电信平均:259毫秒,联通平均:299毫秒

使用CDN之后:

最快:德国9毫秒,最慢:河南[多线]556毫秒,电信平均:285毫秒,联通平均:215毫秒

DNS的解析速度不相上下,看不出来有提升。

然后看在线速度测试结果。下图是加速前的在线速度测试结果,1个IP,平均加载总时间为1.624S,下载速度21.983K/秒,在大部分省份的速度都是不错的。

网站CDN加速后实际效果和理论性能差距太大

再来看采用CDN加速后的结果,6个IP,8.058S,下载速度16K/秒,没有加速,反而还变慢了,简直是全国山河一片红

网站CDN加速后实际效果和理论性能差距太大

原因分析和结论

理论上CDN应该加速网站的加载速度,然而测试结果并不买账,无论是DNS解析还是网页加载时间。我想原因可能以下几点:

  1. 实际硬件的局限性,尤其是免费的CDN硬件资源未必就一定强劲;
  2. 智能计算需要时间开销,确定从哪个地点加速,如何加速等一系列进程需要额外时间,而加速前只需直接到服务器存取内容就行了;
  3. 有限的资源分配给每位用户时难以保证,这体现在免费的CDN服务上尤其明显——免费就是要付出代价——没有人为你保证质量。

虽然这只是一家免费的CDN测试结果,但从我了解到其他博客主的CDN使用情况来看,定性方面的结果都类似,即CDN实际加速效果并不好。因此,从这些结果和分析来看,还是老老实实地用自己的购买的主机服务器最为可靠——除非主机服务器实在太烂。对于资金雄厚的朋友,当然可以买虚拟独立主机,或者直接的独立主机,不过那种情况对于一般访问量的博客主实在没有必要。

希望此文对于那些想使用免费CDN来实现网站加速的博客主和站长们有所参考。

CDN加速实际效果和理论性能差距太大》有55个想法

  1. 张刚

    这种CDN的加速,不要太考虑地域的因素,实际上所有的数据,都是以光速在传播的,理论上到哪里都不会慢。

    所需要解决的,是每个地方运营商的地方保护,而有的IDC商务关系较好,能很好的和各地运营商协调。反面的教程是,就像你的免费IDC,不要以为地域上很接近,实际上的速度,比地球到火星的通讯都慢

    回复
    1. 土木坛子 文章作者

      还是你懂得多,这个解释的确能说明一些问题。
      所以说,选择美国的主机,并不是地理距离的问题,而是国内的电信运营商并没有给予优先权了。
      但是地理距离远了,可能要转换的节点要多一些,不知各个转换的节点地方是否需要时间开销?

      回复
  2. 小七

    你的主题挺简洁的,按理说用国外主机速度也是可以的,用不着加速
    我用的香港主机,有时候打开速度还不如人家的美国主机快
    一般美国主机性能好,响应速度快

    回复
  3. 禅猫

    不不,电脑上也是可以的,支持win和linux!win下有个软件 运行 填写帐号就可以了,
    linux就是找到和你服务器系统匹配的版本 下载 解压 安装 运行 ok!
    就是榨干你服务器的带宽,比如你服务器的带宽是10M,启用了tcp 下载,链接 速率就是10240KB 全跑满,全球都一样动静都支持,不想cdn只支持静态文件,这个玩意研究了半年了,

    那个。。你了解下吧 锐速tcp加速,好像现在还提供免费20M的,这家是华夏的代理

    回复
  4. 禅猫

    看了你的评测,确实有这样的情况,用了总比没用的好些,付费的当然比免费的好!
    我研究出来的几个规律如下
    这些测速网站如果不支持或者屏蔽某个cdn公司 也会出现一片红
    免费CDN,毕竟是免费,配额等或许有限制,使用的人多 资源贫瘠 比如360

    解决方案
    你可以把cdn节点的ip添加进服务器的防火墙白名单 再检测试试 nice!
    另一种是变态点的..同时启用多个CDN做轮循,这个不稳妥,并有一个抽了全部都挂

    比较稳定的 就是用dnspod或者是快网的dns服务 同时启用多个cdn的别名记录,然后分别设置路线,电信啊,联通啊等等!需要先查看你的统计地域 那里的用户 那里的线路访问的多,然后查看CDN分配你的节点 电信多 就别名到电信 以此类推!NICE!

    回复
  5. 奇遇

    我最近有空关注了一下自己很久没更新的博客,发现使用了阿里云CDN之后打开很慢,于是就删掉了CDN的解析,花钱还不快,用之何用? 发现速度反而快了,百思不得其解。

    回复
    1. 陈旭华

      是因为你缓存没有配置好,导致每次访问流量都回源加载。做好动静分离,js,css,jpg等静态资源配置永久缓存,或者干脆把图片资源放在一个独立的二级域名上。你会发现CDN其实是很快的

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注