Mysql每秒查询次数高,CPU使用率高

我有一个专用服务器,内存为4GB,四核Xeon CPU,每天使用wordpress脚本为网站提供350k次浏览。 问题是,mysql正在吃大量的cpu,经过调查,我发现它每秒处理250个查询。 这相当于每页加载60个查询,这是不正确的。 除此之外,大部分页面都使用W3 Total Cache进行caching。 我有几个应用程序访问数据库,但我怎么知道哪一个导致高查询使用?

MySQL有一个名为“show processlist”的语句来显示你的MySQL服务器上正在运行的查询。

对于mysql问题设置缓慢的查询日志,并使用mysqltuner.pl和mysql调优 引导进行分析。 这修复了大部分的mysql问题。 分析缓慢的队列并检查是否可以添加更多的索引。

不要忘了使用innodb作为引擎,特别是innodb缓冲池大小variables。

为什么不用像WP Super Cache这样的东西,这将大大减less查询到您的数据库服务器的数量?

启用慢查询日志并设置long_query_timevariables。 这将logging所有比指定时间花费更多时间的查询。

然后使用mysqldumpslow工具分析慢查询日志。

有关更多信息,请参阅mysql文档。

http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html