2012-06-02 57 views
1

我一直在運行一個網絡服務器好幾年了,但最近它開始行動了。我發現這個問題與MySQL有關,因爲查詢需要的時間越來越長,重新啓動它可以解決問題。然而,昨天晚上,當服務器停滯不前時,整個事情都在我的臉上炸了,甚至連SSH都無法連接。調試MySQL崩潰 - 12k打開的表?

它是什麼:它是一個CentOS 5 64位機器,8GB RAM 它運行的是什麼:LAMP與幾個低流量網站,一個Minecraft服務器和一個團隊協議服務器。大多數網站正在運行Wordpress。 內存& CPU明智的是,當我發現MySQL請求需要很長時間時,我的未經訓練的眼睛才能看到問題。 MySQL以開箱即用的配置運行,我從不改變任何東西。

所以我開始尋找今天的MySQL的狀態,發現有幾個數字是紅色:

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

可惜我完全無言以對,當涉及到這些數字。唯一我認爲很奇怪的是開放表格。我無法告訴你爲什麼我會有12k張桌子。當我查看列表時,只有85.該數字在啓動服務器後立即在2K。

任何想法可能是錯誤的?我能做些什麼來調試?

+1

您應該將此問題發送到http://dba.stackexchange.com/ –

回答

1

如果問題是如何調試,我想這是一個答案一點點:(潛艇的問題?:什麼是容量法)

  • 努力重建你的MySQL表的統計
  • 改善你的table_cache:如果opens_table的增加速度很快,特別是,你的內存一樣正如你所說
  • 看看你的硬盤驅動器狀態:完整?
  • 隔離問題:嘗試從SQL加上一些簡單的查詢

起點。

問候,好運