圖1) 改善應用性能的典型方法
這部分地是因為理解I/O性能的那些方法并沒有被廣泛理解。不過,現(xiàn)在有許多操作系統(tǒng)級、存儲系統(tǒng)級和應用級的 I/O 性能分析工具能夠幫助你查出可能的I/O 難題。
供研究I/O使用的操作系統(tǒng)級工具
對于UNIX®和Linux®操作系統(tǒng)來說,許多性能分析工具如Top、iostat和sar(系統(tǒng)活動報告人)能幫助你了解I/O對你的服務器的潛在影響。如果該服務器是(或可能)專用于單一的有趣應用,那么這些統(tǒng)計數(shù)據(jù)就是有用的。例如,Linux系統(tǒng)上的iostat命令顯示"%iowait", 即該系統(tǒng)等待I/O所花費時間的百分比。(系統(tǒng)執(zhí)行這個命令時僅顯示了一個單一時間點。)
對于Microsoft® 的Windows®來說,最佳系統(tǒng)性能分析工具是性能監(jiān)測器。遺憾的是,性能監(jiān)視器不能提供明確的I / O等待時間統(tǒng)計數(shù)據(jù)。然而,它能提供包括實時處理器的性能水平和磁盤隊列統(tǒng)計數(shù)據(jù)。"處理器:處理器時間百分比"測量出處理器所做的實際工作, 而"平均磁盤隊列長度"顯示了I / O操作進程的數(shù)量。如果一個承擔了太多事務處理的系統(tǒng)顯示出很高的磁盤隊列水平,而"處理器時間百分比"恰巧在100% 以下,你就可以假定服務器I/O等待時間是長的。
存儲系統(tǒng)工具
如果你使用的是智能后端存儲系統(tǒng),它也許能提供關于I/O的額外信息。例如,通過使用NetApp Operations Manager,你能以圖表的方式清晰地看到包括卷延遲、每秒操作等在內(nèi)的各種存儲衡量標準。通過專注于特定應用使用的卷,你可以分辨出這些卷是否正在承擔過多事務處理以及/或者高度延遲。
你可以從之前發(fā)表的Tech OnTap 文章《監(jiān)測、解決問題、提高NetApp存儲性能》 (Monitor, Troubleshoot, and Improve NetApp Storage Performance)和NetApp技術報告3525《存儲性能管理》(Storage Performance Management)中看到更多關于如何使用這些NetApp工具的內(nèi)容。
應用工具
對于最可能的應用特征來說,你需要嵌入在應用中的I/O工具來告訴你到底該應用是如何使用其時間的。許多流行的數(shù)據(jù)庫和業(yè)務應用包含了這類的工具。例如,Oracle配備Statspack功能來監(jiān)測數(shù)據(jù)庫性能。在Oracle10gTM中, Oracle推出了AWR (Automatic Workload Repository)和ADDM (Automatic Database Diagnostic Monitor)一起作為其Enterprise Manager Tool的額外成本選項。
Statspack報告包含了"最常見的5個定時活動"一節(jié),指出首先你會渴望了解你的數(shù)據(jù)庫是否在I/O約束范圍內(nèi)。(見圖2))
圖2)Oracle Statspack報告的部分內(nèi)容,顯示了最常見的5個定時活動(15分鐘間隔)
回顧該例子的結果,非常明顯,在該間隔期間內(nèi)數(shù)據(jù)庫花費了83% 的總運行時間的用來讀取。將等待的總時間分解成以秒計的時間,將得出每次等待需要5.25毫秒的平均延遲時間。盡管這樣的延遲時間還算不錯,但要使這個數(shù)據(jù)庫得到明顯的性能提升還需要進一步削減延遲時間。為此,將V系列和RamSan結合將是一個完美的解決方案。你可以從Texas Memory Systems最新的一份白皮書《以固態(tài)硬盤加速Oracle性能》(Faster Oracle Performance with Solid State Disks)中了解到更多的關于Oracle® I/O的性能表現(xiàn)。
最終部署案例:融合RamSan的FlexCache
與任何大型存儲的部署一樣,融合TMS RamSan 的NetApp V3170是一項重大的投資,特別是如果你將該投資用來加速一個單一應用。針對基于NFS的環(huán)境的一個替代方法就是使用NetApp FlexCache軟件創(chuàng)建一個緩存架構來部署該解決方案。
在緩存架構下,一個快速的存儲緩存邏輯地存在于主存儲系統(tǒng)和計算服務器或桌面客戶端之間。一旦數(shù)據(jù)被讀取,會自動被拷貝進這個緩存層;隨后的讀取來自緩存而不是原來的存儲系統(tǒng)。借助NetApp V系列和TMS RamSan投資集中緩存層,你可以在多存儲系統(tǒng)和應用方面利用這筆投資。當然你也可以在你的主存儲中配置更經(jīng)濟、高容量的磁盤驅動器而不會影響性能。因為熱數(shù)據(jù)會自動被緩存,所以無需手動的數(shù)據(jù)管理或遷移軟件。
圖3)一個FlexCache架構顯示V3170/RamSan作為高性能緩存層在使用
這種方式已證明可為加速并行軟件構建以及諸如動畫渲染、電子設計自動化、地震分析和模擬金融市場等計算密集型應用帶來顯著提升。任何通過多計算服務器并行讀取相同數(shù)據(jù)的應用都可以從中受益。
結論
如果你使用的應用受到I/O的限制或者其中硬盤延遲時間已成為制約因素的話,NetApp V3170和TMS RamSan-500的聯(lián)合解決方案可以通過一個級數(shù) (從10毫秒到1毫秒)來減少延遲時間,并保證達到50,000 的IOPS。
作者
Jamon Bowen
Texas Memory Systems
企業(yè)級架構師
Jamon于2004年加入TMS成為一名軟件工程師?,F(xiàn)在他已經(jīng)是金融行業(yè)的企業(yè)級架構師。通過領導全球的資訊會議并維護強大的在線資訊,Jamon已經(jīng)是固態(tài)
硬盤存儲界的意見領袖。Jamon畢業(yè)于美國科羅拉多礦業(yè)學院的電機工程專業(yè)。
Steven Lusnia
NetApp
V系列解決方案架構師
Steve在NetApp工作已超過8年。他于2003年年中加入NetApp,開始與很多希望將NetApp特性應用到其傳統(tǒng)SAN環(huán)境的客戶工作。這也正是V系列產(chǎn)品線誕生的原因。2006年,Steve擔任工程師和產(chǎn)品管理的聯(lián)合職位,利用他的采礦經(jīng)驗幫助推動V系列產(chǎn)品線的發(fā)展進化,其中包括融合TMS RamSan 的V 系列。
Darrell Suggs
NetApp
技術總監(jiān)
Darrell 于2001年加入NetApp性能工程。他開發(fā)了很多重要的性能工具,指導了NFS環(huán)境中的性能加強,領導了FlexShareTM 產(chǎn)品開發(fā)以增強其存儲服務質(zhì)量?,F(xiàn)在
他為NetApp 緩存產(chǎn)品擔任技術指導。Darrel 于1993年在美國克萊姆森大學獲得計
算機科學的博士學位,并在IT行業(yè)有超過15年的工作經(jīng)驗。