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