WordPress 性能优化:为什么我的博客比你的快

标签: WordPress WordPress 缓存 | 发表时间:2012-02-29 00:45 | 作者:Denis
出处:http://fairyfish.net

很多同学都说 WordPress 很慢,前面我发布的插件 WPJAM Debug,可以在页脚显示当前页面有多少条 SQL 查询,页面生成花了多少时间,并且把 SQL 按照执行顺序和按照耗时列出,可以通过这样的方式帮你分析 WordPress 哪里慢。

但是 WPJAM Debug 只是分析 WordPress 效率,具体涉及到 WordPress 性能优化,还需要自己动手来做,今天我就讲讲这一段时间来我工作的网站: App每日推送(也是基于 WordPress 构建)是怎么优化的。

关于 App每日推送

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 主机。

服务器问题解决之后,服务器可以做如下优化:

1. Web 服务器选择使用 Nginx:效率和并发比 Apache 高,系统资源消耗低。

2. MySQL 设置 MySQL Query Cache,可以保存保存查询结果,同样的查询不再从数据库检索,对速度有很大的提升。

3. 使用 eAccelerator 加快 PHP 脚本的执行效率:把经过编译后的 PHP 代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。

WordPress 程序优化

WordPress 插件一定要只用必须的,另外尽量能够全部插件自己写,如果不能全部自己写,也要对第三方插件按照自己需求进行改写,

WordPress 主题代码的质量一定要保证,尽量使用模板函数,比如 get_the_terms 和 wp_get_object_terms 这两个函数,功能基本一样,但是get_the_terms 直接从缓存中取数据,无查询,而 wp_get_object_terms 每次都从数据库中取数据,不用说,肯定第一个效率更好。

WordPress 缓存

关于 WordPress 缓存我已经做过详细的总结,这里就不再累赘,具体涉及到 App每日推送,由于动态网站的特性,注册用户比较多,不适合 WP Super Cache 这样的静态缓存,对硬盘读写太多,讨论区又无法缓存,我们使用 Memcached 和 Batcache 搭配的内存缓存模式:

对于已登陆的用户, Memcached 会把 Object Cache 的对象存到内存里面,服务器的内存足够大,读取和存储速度也够快,并且内存缓存命中率也大于 93%。另外我们 WordPress 程序经过优化,每个页面的查询一般在 2 条左右,所以整个网站效率很高。

对于未登录的用户, Batcache 会把整个页面当做一个对象存到内存里面,未登录用户访问的时候,整个页面从内存中取出,速度奇快。

WordPress 性能优化总结

选择好的服务器和托管商,对 WordPress 程序进行优化,并且做好缓存,WordPress 效率其实很高的,加上 WordPress 本身的灵活性和功能强大,WordPress 作为各种建站绝对是非常不错的选择。

另外这里还有一份我总结的关于 WordPress 性能优化的 PPT: http://vdisk.weibo.com/s/2QR2M,内容略有补充。

>>> 继续阅读全文 ...


© 我爱水煮鱼 / 收藏本文 / 0条评论 / RSS 订阅 / 长期承接 WordPress 项目 / 主机域名优惠码 / 新浪微博

相关 [wordpress 性能优化 博客] 推荐:

WordPress 性能优化:为什么我的博客比你的快

- - 我爱水煮鱼
很多同学都说 WordPress 很慢,前面我发布的插件 WPJAM Debug,可以在页脚显示当前页面有多少条 SQL 查询,页面生成花了多少时间,并且把 SQL 按照执行顺序和按照耗时列出,可以通过这样的方式帮你分析 WordPress 哪里慢. 但是 WPJAM Debug 只是分析 WordPress 效率,具体涉及到 WordPress 性能优化,还需要自己动手来做,今天我就讲讲这一段时间来我工作的网站: App每日推送(也是基于 WordPress 构建)是怎么优化的.

记一次wordpress性能优化

- - CSDN博客推荐文章
wordpress真的很流行,但是我真的不认为它的性能好,尤其当数据超过几万十几万的时候. 当然作为一个个人博客来说超过几万的数据是一件很难的事情. 可我现在用wordpress作为CMS使用,数据库中有十几万条数据. 新租的云主机配置为:2核2GHZ的CPU、1G内存、CentOS6.4操作系统.

WordPress与Tumblr:传统博客与轻博客之争

- mornlee - 月光博客
  在博客平台不断发展的今天,你是不是为了选择在哪里安家而有点纠结. 关于博客平台的讨论很多都是从开发商的角度来看问题,而忽略了其实有很多人并不是活在代码的世界中. 所以我希望能从理性的角度来帮助同学们分析他们各自的优缺点,从而能让同学们做出理智的选择.   根据WordPress.com和Tumblr各自的网站数据来看,轻博客平台Tumblr的博客数量到目前为止约为2241万,而WordPress的博客数量约4926万(这个数据是WordPress.org开源程序建立的个人网站加上在WordPress.com托管的博客的总和).

eBay Elasticsearch性能优化实践 - CSDN博客

- -
eBay网Elasticsearch性能优化实践. 摘要:Elasticsearch是基于Apache Lucene的开源搜索和分析引擎,允许用户以近乎实时的方式存储,搜索和分析数据. 虽然Elasticsearch专为快速查询而设计,但其性能在很大程度上取决于用于应用程序的场景,索引的数据量以及应用程序和用户查询数据的速率.

管理WordPress博客手机软件集锦

- Jacqueline - 月光博客
  互联网和移动电话业的发展已经极大地改变了我们的生活. 这两项革命性的技术随着智能手机的推出已经融汇到一起了. 现在智能手机几乎随处可见,创造了大量新的机会来为这些移动设备开发应用软件.   如果你拥有一个WordPress发布平台,或者你是一个为你的客户提供WordPress解决方案的开发者,这里编制了一些管理WordPress博客的手机软件,将会帮助你和你的客户在任何地方任何时候都可以来管理WordPress发布平台.

轻博客的巨头之境: WordPress vs. Tumblr

- - 微博之博
轻博客( Tumblogging):博文短小、支持多媒体,近几年广受好评. Tumblr就是一个家喻户晓的轻博客平台,然而不一定非要纯种,时下也有很多可以将WordPress轻博客化的WP主题可供选择. 对于不想长篇大论但是想分享照片、音乐、视频等内容的博主来说,轻博客不失为上上之选. 相比经营一个常规博客而言,经营轻博客没有什么太大的压力,是一种随意的存在.

WordPress 博客怎么对百度进行 SEO 优化

- - 我爱水煮鱼
百度给站长的建站建议,在相当程度上代表了百度的态度,通读下对你的建站还有比较大的帮助的. 这份建议在相当程度上代表了百度的态度,通读下对建站还是有比较大的帮助的. 下面我讲讲 WordPress 博客针对这些建议,应该如何进行 SEO 优化的技巧:. 为每个网页添加合适的标题,如果是网站首页,则标题建议使用站点名称或者站点代表的公司、机构名称;其余的内容页面,标题建议做成与正文内容的提炼和概括,这可以让您的潜在用户通过搜索引擎结果中的标题快速访问到您的页面.

10余种提升WordPress博客加载速度的方法

- - 软矿
我们都知道一个网站的加载速度直接影响到搜索引擎爬虫对网站页面的抓取,也直接影响到网站用户体验. 网站加载速度过慢会造成搜索引擎无法抓取到页面内容而丢弃对该网站的一些页面的收录,同时可以丢失部分用户. 在月光博客读到SEOtime一篇较好的文章,小编转载过来以借花敬佛,愿对一些正在建站或者即将要建站的朋友有所帮助.

新手教程:wordpress博客安装图文教导

- - CSDN博客互联网推荐文章
每一个建立博客的新朋友,当准备好域名和主机后,不知道怎么安装博客,我刚建立昆明SEO的时候,也费了很多时间,终于搭建成功,下面是我一步一步实战得来的总结. 第一步:域名解析,根据域名注册商不同,解析操作上会有些细微的差别,总体来说,域名解析的时候只要添加一个A纪录就可以了,然后填上你主机的IP. 域名生效的时间一般在24小时之内生效,判断域名有没有生效的方法如下:开始,运行,然后输入”cmd”,最后输入”ping www.***.net“命令,ping与域名中间有一个空格,如果发现上面的IP和你主机的IP一样,就说明已经生效了.

如何防止你的 WordPress 博客参与 DDOS 攻击

- - 我爱水煮鱼
安全公司 Sucuri 在3月9日表示, 黑客利用了超过 162000 家 WordPress 网站,向目标网站进行了 DDoS 攻击,所有请求都是随机值(比如?4137049=643182?),因而绕过了缓存,迫使每回页面重新加载,于是目标服务器很快就挂了,并且宕机了好几个小时. XML-RPC 和其 pingbacks 端口.