加速blog:监测和优化WordPress数据库

在WordPress生成页面时,最消耗时间的便是数据库查询了。

监测WordPress的数据库查询

WordPress内置了数据库缓存系统,安装插件WordPress Cache Inspect,它会告诉你这个系统的效率(命中效率),主要为下面四个指标:

Cold Cache Hits
This is the number of cached items that were loaded from disk.
Warm Cache Hits
This is the number of cached items accessed that were already in memory
Cache Misses
This is the number of items that had to be fetched from the db as they were not in the cache.
Loaded data
This lists the type and amount of data loaded into memory from that currently stored within the cache..

define('ENABLE_CACHE', true);

把这条语句加入WordPress的配置文件wp-config.php里,WordPress便会以文本的方式缓存一些数据库查询的结果到/wp-content/cache/目录下。注意保持这个目录可写。

试试看效果再用。因为这玩意儿是用磁盘Cache保持数据库查询结果。但某些服务器上,磁盘IO比较慢,比如在dreamhost上就不推荐用这种方式。

显示所有数据库查询语句和消耗时间

在wp-config.php文件里添加define('SAVEQUERIES', true);再在footer.php文件的尾部加上一句<?php var_dump($wpdb->queries); ?> 。就可以在页面源代码的尾部找到整个页面执行过程中所提交的所有MySQL查询语句了。数组里每一项都包含一个string和一个float,string存储查询语句,float存储查询时间。

参考:查看WordPress页面执行过程中提交的SQL查询语句

比较耗时的数据库语句

WordPress执行效率问题作者作了一个测试,大家可以看一下具体有什么问题,与自己的做一个对照。我提一下我遇到过的比较慢的查询语句。

分类和tag相关的都比较消耗时间

比较消耗时间的基本上都与分类表相关的三个数据表相关。特别是我用的那个相关文章查询,基本上占总查询时间的20%(优化后)。我比较期待快速或者带Cache的相关文章的插件。

DESC wp_comments

我不知道这个语句干啥的,经常很慢,所以我把产生它的插件"subscribe comments"插件直接禁用了,反正那个插件提供的功能就没几个人用。

持续更新ing...

查看更多关于, 的内容。

你可能感兴趣的
相关文章

沙发 -> 跳到留言表格

(Required)
(Required, not published)

  B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
guest | 注册 | BBS | 管理 | English | 繁體 | https

阅微堂

Dolly’ll never go away again

Loading...
Loading...
Loading...