Loading...

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

干掉SimpleTagging (警惕copying to tmp table on disk)

可任意转载,但必须在醒目位置以超链接形式标明文章原始出处和作者信息
原文地址:http://www.blogkid.net/archives/1641.html

SimpleTagging插件是我一直都在blog上用的tag插件,哪怕WP出来了内建的tag支持,我还是保留了SimpleTagging,因为它可以提供一个相关文章列表。为了这个相关文章,我每次写东西都会添加两次tag:一次是添加到wp自带的tag系统,一次是SimpleTagging。

但昨天发现服务器上mysql数据库进程的CPU占用经常有大的波动,忍不住用show processlist;看了一下。发现在CPU占用较高的时候,主要是涉及到SimpleTagging进行相似度比较的操作。由于我的文章太多、查询的语句也比较复杂,所以Mysql每次都会进行”copying to tmp table on disk”。可想而之,这样的操作有多耗资源。不过还是可以较快地处理完,所以在slowquerylog里没有这些查询。

但还是不能容忍每一次查询都来一个copying to tmp table on disk,权衡之下,只好干掉了SimpleTagging插件。这下不能显示相关文章了,但好处是不用每次写文章都加两次Tag了。Wordpress作为一个blog系统是非常好用,但插件往往会用得太多,一个页面要几十次查询的情况非常普遍。当文章的量比较大(我已经有一千几百篇文章),SimpleTagging需要在这么多文章中寻找相似条目,自然会慢下来。至于copying to tmp table on disk的出现,往往意味着还要进行file sort,在开发的时候,应该多用explain,看看能做哪些优化。

1 Response to “干掉SimpleTagging (警惕copying to tmp table on disk)”


  1. copying to tmp table on disk 似乎避免不了,我做了配置优化,还是经常出现。

Leave a Reply