本文主要为广大网友提供“WordPress程序性能优化 提高访问速度”,希望对需要WordPress程序性能优化 提高访问速度网友有所帮助,学习一下!
很多同学都说 WordPress 很慢,前面我发布的插件WPJAM Debug,可以在页脚显示当前页面有多少条 SQL 查询,页面生成花了多少时间,并且把 SQL 按照执行顺序和按照耗时列出,可以通过这样的方式帮你分析 WordPress 哪里慢。
但是 WPJAM Debug 只是分析 WordPress 效率,具体涉及到 WordPress 性能优化,还需要自己动手来做,今天我就讲讲这一段时间来我工作的网站:App每日推送(也是基于 WordPress 构建)是怎么优化的。
App每日推送是基于 WordPress 构建的 iPhone/iPad 应用推荐服务,这是目前我做过最复杂的 WordPress 网站,有多重筛选:可以通过设备(iPhone/iPad/通用),价格(免费/限免/收费)分类(游戏/应用/工具等等)选择自己喜欢的 App,用户动态,讨论区,消息通知,积分,积分兑换等等功能。
目前整个网站每个月的流量已经超过 300W,但是网站目前的速度很快,大部分页面在 0.1 秒内生成,并且只有 2 条 SQL 查询,比如首页:2 queries in 0.063 seconds。
那么我们是怎么进行优化的?
首先要选择一个靠谱的主机托管商,在国内这个很多时候让你抓狂,但是只要努力还是可以的,第二选择 BGP 或者多线机房,让全国用户访问都能有不错的速度,第三选择独立的服务器,再不行,也要选择 VPS,因为你没有服务器的 Root 权限很多东西是无法进行的,个人博客可以考虑Media Temple这类的 VPS 主机。
服务器问题解决之后,服务器可以做如下优化:
WordPress 插件一定要只用必须的,另外尽量能够全部插件自己写,如果不能全部自己写,也要对第三方插件按照自己需求进行改写,
WordPress 主题代码的质量一定要保证,尽量使用模板函数,比如 get_the_terms 和 wp_get_object_terms 这两个函数,功能基本一样,但是get_the_terms 直接从缓存中取数据,无查询,而 wp_get_object_terms 每次都从数据库中取数据,不用说,肯定第一个效率更好。
关于WordPress 缓存我已经做过详细的总结,这里就不再累赘,具体涉及到App每日推送,由于动态网站的特性,注册用户比较多,不适合 WP Super Cache 这样的静态缓存,对硬盘读写太多,讨论区又无法缓存,我们使用 Memcached 和 Batcache 搭配的内存缓存模式:
对于已登陆的用户,Memcached会把 Object Cache 的对象存到内存里面,服务器的内存足够大,读取和存储速度也够快,并且内存缓存命中率也大于 93%。另外我们 WordPress 程序经过优化,每个页面的查询一般在 2 条左右,所以整个网站效率很高。
对于未登录的用户,Batcache会把整个页面当做一个对象存到内存里面,未登录用户访问的时候,整个页面从内存中取出,速度奇快。
选择好的服务器和托管商,对 WordPress 程序进行优化,并且做好缓存,WordPress 效率其实很高的,加上 WordPress 本身的灵活性和功能强大,WordPress 作为各种建站绝对是非常不错的选择。
另外这里还有一份我总结的关于 WordPress 性能优化的 PPT,内容略有补充: