1

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

它是什么:这是一台 CentOS 5 64 位机器,8GB 内存它正在运行什么:LAMP,带有几个低流量网站、一个 minecraft 服务器和一个 teampeak 服务器。大多数网站都在运行 Wordpress。在内存和 CPU 方面,当我意识到 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
  • 已打开的_tables 12.5 k
  • Table_locks_waited 2

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

知道有什么问题吗?我能做些什么来调试它?

4

1 回答 1

1

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

  • 尝试重新生成 mysql 表的统计信息(subs. question:什么是volumetry?)
  • 改善你的table_cache:如果opened_table的增加很快,特别是你的内存和你说的一样好
  • 看看你的硬盘状态:满了?
  • 隔离问题:从 sql plus 尝试一些简单的查询

初始点。

问候,祝你好运

于 2012-06-02T01:31:12.033 回答