调试MySQL崩溃 - 12k打开表?

时间:2012-06-02 01:25:16

标签: mysql

我已经运行了几年的网络服务器,但最近它开始表现。我发现问题出在mysql上,因为查询需要的时间越来越长,重新启动它就可以解决问题。然而,昨晚,当服务器停滞不前以至于我甚至无法通过SSH连接时,整个事情都在我脸上爆炸。

它是什么:它是CentOS 5 64bit机器,8GB内存 它运行的是:LAMP包含几个低流量网站,一个Minecraft服务器和一个teampeak服务器。大多数网站都运行Wordpress。 记忆与在我认为MySQL请求需要很长时间的时候,我的未经训练的眼睛看不出任何问题。 MySQL使用开箱即用的配置运行,我从未改变任何东西。

所以我今天开始查看MySQL的状态,发现有几个红色的数字:

  • Innodb_buffer_pool_reads 813
  • Handler_read_rnd 19.1 k
  • Handler_read_rnd_next 6.3 M
  • Created_tmp_disk_tables 1.1 k
  • Sort_merge_passes 1
  • Opened_tables 12.5 k
  • Table_locks_waited 2

不幸的是,当谈到这些数字时,我完全无能为力。我认为唯一一个奇怪的是开放表格。我无法告诉你为什么在地球上我会有12k张桌子。当我查看列表时,只有85.该数字在启动服务器后立即为2K。

知道什么是错的吗?我该怎么做才能调试呢?

1 个答案:

答案 0 :(得分:1)

如果问题是如何调试,我想这是一个小答案:

  • 尝试重新生成mysql表的统计信息(子问题:什么是容量?)
  • 改进你的table_cache:如果open_table的增加很快,特别是你的ram就像你说的那样好
  • 查看您的硬盘状态:完整?
  • 隔离问题:从sql plus
  • 尝试一些简单的查询

起点。

问候,祝你好运