首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有MySQL的奇怪的CPU峰值

问带有MySQL的奇怪的CPU峰值
EN

Server Fault用户
提问于 2014-09-11 01:57:20
回答 1查看 1.1K关注 0票数 0

在我的服务器(ubuntu12.04)上,mysqld开始显示一些奇怪的CPU峰值。我记录了其中的一些作为样本:

http://pastebin.com/4MwKUVwL

在三重破折号“--”之后的值是由top报告的cpu使用率(后面是mem使用量)。例如,在21:31:33和21:37:33 (178%!)和21:40:25。在这种情况下,客户端在到达服务器时遇到了困难。

你知道是什么引起的吗?

我做了几件事

重新启动整个服务器:之后是相同的事情

打开普通日志,实时查看查询:我估计了cpu出现高峰时的查询量,以及未启动时的查询量。但是,当游客不多时,高峰之间的间隔似乎更长(不能100%肯定这一点,但在快速回顾之后似乎是如此)。

运行mysqltuner

代码语言:javascript
复制
-------- Performance Metrics -------------------------------------------------
[--] Up for: 1h 5m 28s (50K q [12.899 qps], 25K conn, TX: 22M, RX: 6M)
[--] Reads / Writes: 98% / 2%
[--] Total buffers: 208.0M global + 2.7M per thread (400 max threads)
[OK] Maximum possible memory usage: 1.3G (64% of installed RAM)
[OK] Slow queries: 0% (0/50K)
[OK] Highest usage of available connections: 9% (37/400)
[OK] Key buffer size / total MyISAM indexes: 16.0M/100.0K
[OK] Query cache efficiency: 94.0% (23K cached / 25K selects)
[OK] Query cache prunes per day: 0
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 1K sorts)
[OK] Temporary tables created on disk: 19% (54 on disk / 272 total)
[OK] Thread cache hit rate: 99% (37 created / 25K connections)
[OK] Table cache hit rate: 36% (77 open / 213 opened)
[OK] Open file limit used: 1% (50/4K)
[OK] Table locks acquired immediately: 100% (1K immediate / 1K locks)
[OK] InnoDB data size / buffer pool: 27.0M/128.0M

请注意,它在mysql重新启动后运行了很短的时间,但我之前运行了它,并显示了相同的内容。

检查的IO问题:非常低的cpu峰值期间和之间的尖峰。

选中的完整处理程序列表:大部分为空,在cpu峰值期间和之间都是空的。

我的mysql配置文件:http://pastebin.com/k5qpVVLR

其他服务器软件:该站点运行Apache & PHP。这些进程和其他进程在mysql cpu峰值期间没有什么不同。我已经检查了相关的php代码,而且连接似乎处理得很好。来自我的php.ini的相关内容(也尝试了持续的打开和关闭):

代码语言:javascript
复制
pdo_mysql.cache_size = 2000
mysql.cache_size = 2000
mysql.max_links = -1

我读到了关于优化表的文章,但是一般的想法似乎是,innodb不需要它,我的表也没有那么大(~30K行)。

我迷路了,我希望你能给我指点。我希望你们中的一些人有过类似的经历。

非常感谢。

EN

回答 1

Server Fault用户

发布于 2014-09-11 03:14:03

是什么让你觉得这些尖峰很奇怪?它可能只是mysql通过类似于普通的查询工作。您需要做的是分析哪些查询所花费的时间最长,并将其与cpu增加的时间联系起来。您应该首先打开缓慢的查询日志,并查看花费时间最长的查询。一旦追踪到这些数据,您就可以开始考虑如何使这些程序更有效地运行。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/627718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档