2011年5月6日 星期五

服務沒有回應的可能原因…

當自己運氣不好的時候,我常能夠準確的發現。像是平常都不會打錯的字會不斷打錯,正在忙著處理棘手的問題時,另一個更麻煩的問題讓你不得不暫時放下手上的問題去處理。一片混亂會讓人心情浮燥。

下午正在處理臨時接到的網站修改工作,正作到一半,旁邊處理帳號匯入的同事說大量匯入的程式不動了,沒有任何回應。身為負責整個程式工作的我,只得放下改了一半還有問題的網站,加入檢查問題的行列。

問題的情形很奇怪,和資料庫相關的網頁使用上很正常,回應速度也  OK,但是一用 phpMyAdmin 就會慢得像烏龜一樣,到 Server 上一查,發現 MySQL 佔用 100 % 的 CPU 使用。心想在想,應該是資料庫太久沒有整理,有空洞導致效率不彰,因此要同事停一下,讓我先去作整個資料庫的最佳化,沒想到,一作就出了狀況。

等了老半天,就是沒有看到最佳化完成的訊息,到主機一看不得了,本來應該執行的 httpd 和 mysqld 消失在 top 指令的列表中,結果就是這兩個服務沒有回應,好佳在的是 ssh 還有作用。真是屋漏遇雨,本想早點回去處理作到一半的工作,結果被拖在這個自己無法解決的事情上。

只好向 MIS 求助,經過一連串的檢查,發現到原來是硬碟滿了。對於 Linux 來說,temp 資料夾無法再放入資料,是一件很嚴重的問題。所以這應該就是造成問題的原因,巡過一遍硬碟,意外的發現是 Log 記錄,累積二個月不到的 Log 記錄,就用去硬碟 95% 以上的空間。

調整備份計劃,刪除多餘的資料並重開機後,系統又回到正常的狀態。現在回想,能在連續假日前一天發現、並解決這個問題,表示應該不全然是運氣不好吧!

沒有留言:

張貼留言