MySQL 每小时无响应几次

MySQL 每小时无响应几次

我被困在解决 MySQL 问题的过程中。每小时有几次,大约 60 秒,MyuSQL 会变得无响应,导致我们的网站在此期间无法访问。我启用了慢查询日志,没有发现任何问题(停机期间的所有查询都非常慢,这是自然的,但似乎没有一个查询导致了这个问题)。

我禁用了所有的 cron 作业,但问题仍然存在。

我在中断期间运行了 top,但 MySQL 几乎没有运行 - 这让我觉得这不是一个负载/坏查询问题。

顶部截图在这里: 顶部截图 我的 vps 上的一些统计数据:

1.8GB RAM,2.2Ghz 处理器。mysql 5.1.56。我的网站运行速度极快,除了锁定期间。平均 CPU 使用率为 40%。

这是我的 my.cnf:

[mysqld]

安全显示数据库 tmp_table_size = 24M

最大堆表大小 = 32M

查询缓存限制=1M

查询缓存大小=70M

查询缓存类型=1

最大连接数=200

collat​​ion_server=utf8_unicode_ci character_set_server=utf8

延迟插入超时=40

交互超时=10

等待超时=400

连接超时=20

线程缓存大小=64

密钥缓冲区=50M

连接缓冲区=1M

最大连接错误=20

最大允许数据包=8M

表缓存=1024

记录缓冲区=1M

排序缓冲区大小=2M

读取缓冲区大小=2M

读取缓冲区大小=1M

线程并发=2

myisam_sort_buffer_size=32M

innodb_buffer_pool_size=200M

非常感谢有关如何追踪此问题的任何建议。

答案1

如果你在中断期间可以登录 mysql 控制台,请尝试运行

SHOW PROCESSLIST;

这应该会列出正在运行的 mysql 线程以及这些线程正在运行的查询。这应该会让您更了解 MySQL 正在做什么,导致它没有响应。

答案2

托管公司将其归结为 apache 错误配置,他们增加了 apache 的内存限制,问题现已解决。

答案3

在中央管理/监控服务器上安装 Cacti。然后安装 mysql-cacti 模板。

我会设置系统特定监控以及所有 mysql 监控。这应该会为您提供诊断所需的大部分数据。

模板网站上还有详细的文档。

参考文献: http://code.google.com/p/mysql-cacti-templates/

相关内容