我的VPS服务器上的MySQL CPU利用率非常高(即使没有任何疑问,也会持续大约80%的CPU使用率。)
如果我在my.cnf中使用以下行禁用InnoDB,
ignore-builtin-innodb
default-storage-engine = myisam
我获得了0%的CPU利用率,这让我觉得InnoDB实现存在一些问题导致高CPU使用率。
有没有办法调试这个? (在mysql中显示进程列表根本不会给我任何相关信息。)
MySQL版本:5.5.29
(我也在使用nginx)
答案 0 :(得分:0)
问题可能源于InnoDB的默认设置仍然是单线程的。现在您正在使用MySQL 5.5,您可以将InnoDB配置为访问多个CPU /核心。
请阅读DBA StackExchange中的帖子,而不是重新发明轮子:
Sep 20, 2011
:Multi cores and MySQL Performance Sep 12, 2011
:Possible to make MySQL use more then one core May 26, 2011
:About single threaded versus multithreaded databases performance 请仔细阅读,希望有所帮助。