容易忽视的Wordpress提速方法

2013-07-30  金城  3004

用最新版 Wordpress 又建了一个站点,服务器跑不动了,决定精简它。

本站所在的VPS可以跑动很多CMS,但就是跑不动Wordpress。根据网上的文章,做过很多优化试验都不满意,决定抛弃Wordpress构架,于是熬了两夜将Wordpress前台显示部分全部重写,采用了主文件、模版、缓存的结构(pages.php、pages.tpl.php、pages.cache.php),没有了用不上的插件,实现了静态页面缓存,较少了CPU运算和内存消耗,打开速度还行。之余后台部分,基本上没用过。一般都是在 Dreamweaver 里编辑文档,再复制到 Windows Live Writer 里提交,有时 Windows Live Writer 会格式化HTML代码,产生空格或自己不想要的代码,于是又用C#编写个小工具,重新精简压缩一下代码。

这个新站一开始用了别人的主题,美工部分很满意,但是代码臃肿,影响速度,自己如果照老路重写前台并且保持原界面的话,比较麻烦一点。还是采取折方案中先精简代码。

仔细查看Wordpress的文件会发现,注释内容将近占了一半,有的占了一大半。如下 3 行的函数代码用了 15 行的注释,这一点真让人受不了。因为《我们不需要代码之外的文档

← 你看这代码肿了么?
/** * Build URL query based on an associative and, or indexed array. * * This is a convenient function for easily building url queries. It sets the * separator to '&' and uses _http_build_query() function. * * @see _http_build_query() Used to build the query * @link http://us2.php.net/manual/en/function.http-build-query.php more on what * http_build_query() does. * * @since 2.3.0 * * @param array $data URL-encode key/value pairs. * @return string URL encoded string */
function build_query( $data ) { return _http_build_query( $data, null, '&', '', false ); }

于是我减啊减,减啊减,N^N次的减啊减。终于174KB的文件减成92K,94KB的文件减成58KB,等等。这些还没有进行最大压缩。如果进一步压缩完全可以减一半下来。据说有 Zend、fastcgi、xCache、eAccelerator之类的会更好,不过我只体验到win下用fastcgi确实快了一点,还有就是代码减肥,比减插件加WP缓存实惠的多。

Wordpress是国外的产物,某些国家的平均带宽是我国的几十倍。所以人家的Wordpress不用优化,还可以看详细精美的注释。

中国的带宽有中国特色,给你10M实测6M,给你6M实测4M。2012年360《网速报告》:中国平均带宽3.2M,还引发与运营商的口水战。央视调查爆出惊人内幕,《每周质量报告》曝光了多家二级网络运营商存在虚假宣传问题:有网络宽带用户花钱购买更快的宽带,但网速却并没有真的快起来。被点名的二级宽带服务商有: 英联宽带、中宽网、同创宽带等。不少上网高峰期用户实际拥有的带宽还不到所购买宽带带宽的5%。有关报告指出,国内超半数用户实际宽带下载速率低于运营商 提供的名义宽带速率,中国的宽带是“假宽带”。

今年还没过完,网速报告也没有出来。反正家里的4M升6M也没明显的提速。

如果你通过减少插件,或使用缓存插件或使用链接合并插件或优化数据库,甚至编译代码都没有提升到满意的性能的话,请试试干掉那些摩天注释。

干掉之后如下所示:

function build_query($data){return _http_build_query($data,null,'&','',false);}
// 或
function build_query($d){return _http_build_query($d,null,'&','',false);}