當應用程序或者環(huán)境達致性能極限的時候,如今最普遍的反應是購買閃存存儲。雖然閃存可能是最終的答案,但是IT規(guī)劃人員在增加任何類型的閃存之前都應該采取幾個步驟。這些步驟通常需要很少的IT預算,有時甚至耗時不太長,并且能夠為你的環(huán)境選擇價格和類型都適合的閃存技術。
第一步是檢查已被虛擬化的舊的應用程序和操作系統(tǒng)(OS)。要獲得數(shù)據(jù)的實際位置,虛擬機經(jīng)過三層磁盤提取:
·通過自有的文件系統(tǒng)(大多數(shù)情況下是Windows NTFS)格式化的虛擬機磁盤文件
·虛擬機文件系統(tǒng)(virtual machine file system,VMFS)層
·存儲系統(tǒng)提供的邏輯單元號(LUN)
這三層必須對齊,以確保良好的性能。許多舊的操作系統(tǒng)(例如Windows 2003和XP)被虛擬化時并非默認對齊。VMFS混淆了舊的操作系統(tǒng);因此,它們是不對齊的。盡管一切都似乎將會正常工作,但是當主機上的虛擬機密度增加并且連接到共享存儲基礎設施的主機數(shù)量上升,不對齊產(chǎn)生的性能開銷就更加明顯。
文件系統(tǒng)對齊
由于應用程序被遷移到較新版本的Windows,塊對齊問題減少,這時碎片問題并沒有減少。假設由于共享存儲系統(tǒng),碎片被自動糾正。盡管存儲系統(tǒng)可以不斷地進行自身的碎片整理,但是無法不斷地對文件系統(tǒng)中的數(shù)據(jù)進行碎片整理。一旦它把一個LUN分配給一個卷,那么OS就可以向那個卷的任何地方寫數(shù)據(jù)。碎片的影響可以很顯著,增加高達25%的IOPS負載。
雖然閃存可能是最終的答案,但是IT規(guī)劃人員在增加任何類型的閃存之前應該采取幾個步驟。
在現(xiàn)代的數(shù)據(jù)中心中,應用程序離線運行碎片整理過程是不現(xiàn)實的。廠商可以用Condusiv公司的Diskeeper等產(chǎn)品避免碎片整理的問題,它確保Windows以持續(xù)的方式寫數(shù)據(jù),以實時消除碎片。
數(shù)據(jù)庫優(yōu)化
閃存技術最常見的一個案例是提高數(shù)據(jù)庫性能。你應該確認有存儲I/O的問題,再決定購買閃存。確認的最簡單的方法就是查看數(shù)據(jù)庫服務器上的CPU利用率。如果利用率相對較低,那么CPU通常是在等存儲。如果利用率高,可能是其它地方的問題。
一旦存儲問題已經(jīng)得到確認,存儲和數(shù)據(jù)庫管理員就需要發(fā)現(xiàn)任何潛在的數(shù)據(jù)庫問題。這通常意味著尋找仍在被執(zhí)行但卻是不必要的查詢,并且確認列(columns)已被正確地進行索引。代碼本身也應該進行可能是內建的錯誤的等待狀態(tài)(wait states)的檢查。這會是一個冗長耗時的過程,但是諸如SolarWinds公司(原Confio公司)的那些產(chǎn)品可以自動檢查和分析這些環(huán)境,發(fā)現(xiàn)錯誤并且提出改進建議。
網(wǎng)絡
網(wǎng)絡問題的跡象是CPU利用率和存儲I/O隊列深度(queue depth)都低。故障的線纜基礎設施或者線纜接頭造成間歇性的、降低性能的問題,這種情況并不少見。這些往往是最難診斷,但可能是最關鍵的。上述問題通常在一定程度上可以被閃存升級所掩蓋,但是壞的線纜基礎設施可能消除預期的性能提升。
答案是排查線纜基礎設施,以保證一切都規(guī)范運作。如果你并非進行排查的行家里手,你可以從外面聘請線纜基礎設施顧問?;蛘撸究梢酝顿Y在Virtual Instruments、博科(Brocade)和思科(Cisco)等公司的那些可以提供線路級別的性能監(jiān)控的產(chǎn)品上。