我的网站加速历程

2012-05-15

为了加快我的网站的访问速度,我曾使用过直接对www主域名进行CDN加速的方案。但是由于缓存命中率以及CDN缓存对评论等即时内容的更新问题,所以这种方案存在一定的缺陷。

为了这个缺陷,我想出了一个新的解决方案,也就是我现在使用的——www主站使用BGP线路,而附件(如图片、JS/CSS文件等)则使用二级域名进行CDN加速访问。对于使用CDN进行加速的内容,因为长时间都不需要修改,所以可以设置一个尽可能长的缓存时间。像我的博客中缓存的文件,缓存时间最小的设置为1个月,缓存的命中率基本也就可以保证了。

上述方案在很大程度上提高了我的网站的访问速度。至于设置方法,如果是采用二级域名的话,直接在WordPress中配置文件的上传路径,同时给相应路径绑定域名就可以了(前提是虚拟主机支持 子目录域名绑定 或者 多域名绑定 )。当然了,也可以通过插件完成这项工作,我以前的介绍的WordPress远程附件插件 – Hacklog Remote Attachment就是一个很不错的选择。

但是,上述方法虽然解决了附件的CDN加速问题,但对于WordPress本身的主题文件或者插件中的文件,则不能起到加速的作用,还得继续使用www主域名进行访问,所以加速效果还不是很好。

为了解决主题文件等的加速问题,我自己修改了Autoptimize插件。Autoptimize插件本身的作用是对JS、CSS文件整合压缩,减少连接次数,降低访问流量。在我修改该插件后,该插件会将整合压缩后文件保存在img文件下,从而可以使用img.mawenjian.net二级域名进行访问。这样主题文件等的加速问题也就解决了。修改的Autoptimize插件可以整合、压缩文件,同时解决了主题文件等的CDN加速问题,再加上对附件的加速,这种方案已经相当成熟了。所以这种方案我使用了半年之久。

但是这种方案也并非一点问题都没有。Autoptimize插件在将文件整合压缩后,有时会出现CSS错位或者JS脚本不能执行的情况。比方说在我的网站上添加的百度分享代码,就会产生一定程度的显示问题。

到最后,就是我现在使用的W3 Total Cache插件与CDN配合进行加速的方案了。详细的可以看下我的上一篇博文,效果可以说是最好的。唯一的缺点就是需要手动修改一些插件中的文件路径。

本文到此就结束了,如果你有更好的解决方案,欢迎拿出来分享。有分享,才能有更多的回报。


除非特殊说明,本博客文章均为原创,转载请以链接形式标明博文地址。

本文链接地址: 我的网站加速历程

分类:随笔文章 | 标签: |

6 条评论

  1. 七弦琴说道:

    这个方案挺好的,如果与css错位,应该不修改cache路径也有错位吧?请问您是怎么修改auto让cache下的css和js变化的呢?

    • 马文建说道:

      这个问题我没能解决,最后就把插件停用了。因为根据Auto插件的原理,所有CSS文件放在head中,而js文件放在body末尾。但是像百度分享这样的插件,如果按这个顺序加载的话,就会出问题。所以最后只能是禁用了。
      我最后是手工把css文件和js文件各合到了一个文件中,反正这些文件也很少修改,就这么凑活用吧。

      • 七弦琴说道:

        嗯。我也在用百度分享,可以根据无觅的帮助上面说的,修改auto使其不合并百度js,或者直接禁用auto设置的js。我用这个现在是没有问题的,现在我想把cache放在二级域名下,方便cdn加速,可是我修改了一下源码,总是移动不走,您能不能将您移动cache路径的方法写个教程?谢谢了

        • 马文建说道:

          给你个提示吧,因为最后生成的CSS和JS文件(竟然是以PHP结尾),还是会被引入到页面中的,所以可以根据<script ...>和<style...>两个标签去找,符合条件的只有一两个,然后看是哪个变量表示的路径,修改下对应的变量,就OK了。

发表回复

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