數據中心管理人員要學會解讀性能問題的征兆,確定什麼因素在引起問題。
服務器反應遲緩讓每個人都抓狂——最終用戶們焦急地等微軟PowerPoint文件打開,高級主管們希望能立馬收到電子郵件,身為數據中心管理人員,你必須聽取和解決他們抱怨的這些問題。
在如今越來越虛擬化的環境下,服務器性能問題比以往任何時候都要來得常見、嚴重。咨詢公司GlassHouse Technologies的虛擬化服務主管Erwin Vollering說:“在物理環境下,每台服務器都有其各自的SCSI控制器、磁盤、內存和處理器等部件。而現在,你在一個物理主機上的共享環境中運行10至15台服務器,這些服務器同時處理同樣的任務,使用同樣的資源,一旦物理主機出現故障,統統崩潰。”
那麼,你如何著手診斷這些問題,以便解決問題、繼續恢復運行?下面幾個貼士可以幫你輕松入手。
確保引起問題的是服務器
ExtraHop公司的首席執行官兼創始人Jesse Rothstein表示,許多似乎來自服務器層面的性能問題常常是由網絡、數據庫和存儲系統等層面的問題引起的。Rothstein說:“最終,你需要通盤考慮和分析這些問題,不過實際做起來很棘手。”
Fluke Networks公司的全球產品營銷經理Dan Klimke說:“要是出現了延遲問題,我們需要看一下這個延遲最先出現在服務器,還是出現在網絡或客戶端層面。跟蹤分析症狀需要耗費很多時間。”
IT部門經常把多台服務器連接起來,為最終用戶提供資源(如應用程序)。Klimke說:“你可能有一台基於Web的前端服務器與應用服務器進行對話,而該應用服務器與數據庫服務器進行對話,所有這些服務器通過某種網絡連接起來。所以在排除故障時,第一步就是確保問題確實來自某台服務器,而不是來自網絡。”
搞定繁瑣累贅的應用程序
某個應用程序引起服務器反應遲緩或干脆停機,這完全有可能。Klimke說:“應用程序可能過於‘繁瑣累贅’(chatty)——也就是說,這類應用程序寫入時不是使用含有大量數據的大型幀、發送數量比較少的幀,而是使用最小的幀,因而到頭來只好來回頻繁地發送大量數據,才能完成較大的幀所能完成的任務;相比之下,使用大型幀速度快得多、效率高得多。”
比如說,來自應用程序的某個命令可能發送到服務器,導致服務器出現問題。Klimke說:“看一下進入到服務器的實際數據流量,就能查出數據包進入到哪個環節,服務器停機之前什麼命令發送到了服務器。這勢必需要查看網絡連接上的實際數據流量,還需要能解讀就在服務器停機之前發送過去的命令和幀。”
清理骯髒的網絡
Rothstein表示,骯髒的網絡是指數據包出現丟失、重新排序或碎片的網絡,它會拖累服務器的性能,因而引起服務器性能下降、服務器負載加大。
他解釋:“大多數人沒有認識到,像TCP堆棧這些網絡協議堆棧既有快速路徑,又有慢速路徑。快速路徑很高效,針對它所要傳送的數據包進行了優化,可以按順序傳送下一個數據包。但是如果你無序傳送數據包,或者無意中將數據包由第四層往下傳送到第三層,服務器和操作系統就會耗費大量的資源,用於重新組裝那些IP碎片,或者重新排序或重新組裝TCP片段。”
虛擬化可能會使這個問題復雜化。Rothstein說:“你的虛擬機管理程序是個調度程序……跨所有運行中的不同虛擬機和訪客操作系統共享處理器時間;如果從一個虛擬機切換到另一個虛擬機,難免會出現延遲。要是配置有誤,網絡數據包就會出現延遲,以至於被底層網絡堆棧丟棄;一旦你達到引爆點,性能衰減不僅僅顯而易見,還會帶來災難性後果。”
使用監控工具
Rothstein表示,無論是執行SNMP輪詢來記錄服務器健康指標的自動化第三方工具,還是比較簡單的免費開源工具,你都要充分利用監控工具。
Vollering表示,如果你在使用虛擬化服務器,監控工具顯得尤為重要。他表示,VMware、微軟和思傑這三大虛擬化技術提供商都提供優秀的監控工具。他說:“這些工具可以告訴你什麼方面在給你的環境施加壓力,無論是處理器使用率、內存使用率還是磁盤使用率。”
Vollering表示,即使那些工具可供使用、部署到位,但是許多公司還是往往要麼不知道自己可以使用它們,要麼不知道如何使用。此外,這些工具會帶來洪水般的信息和警報。他說:“你可能得花一整天的時間來查閱各種圖表。”
那麼,怎樣才能最有效地利用這些工具呢?Vollering說:“仔細閱讀使用手冊,針對自己的環境合理配置工具。那樣一來,要是出現了警報,你就知道需要探究警報,而不是由於工具仍采用默認的阈值進行配置而面臨洪水般的警報。”
最佳貼士:
檢查服務器的物理資源
CDW公司的內部解決方案架構師Kelly Sather表示,一旦你查明了某個性能問題來自服務器層面,就要仔細檢查這台問題服務器的物理資源。他說:“最好的情況是,只要添加另一個處理器或添加更多內存這麼簡單。”
Fluke Networks公司的全球產品營銷經理Dan Klimke補充說:“務必要看一下你的處理器利用率是不是因許多進程而過高。我們發現,許多問題的出現完全歸因於磁盤塞滿了。”
最基本的貼士:
確保服務器勝任工作
Sather表示,就因為你的硬件與新安裝的或升級的應用程序兼容,並不意味著這個應用程序就會順利運行。他說:“你服務器中的資源需要與它要處理的負載相稱。比如說,有人向遷移到Exchange 2010,於是遷離在配備 24GB內存的雙處理器雙核系統上順暢運行的舊版本Exchange。但是由於Exchange 2010是更耗費資源的系統,他們事後才發現該系統在舊硬件上無法運行。”
另外兩個貼士:
校正和調整負載
多個虛擬服務器帶來的負載可能遠遠超出物理服務器的處理能力范圍。咨詢公司GlassHouse Technologies的虛擬化服務主管Erwin Vollering說:“你要知道自己的局限性。如果你在處理月度財務合並數字的同時拍攝快照,你的存儲系統就無力同時處理所有那些事務。”