應(yīng)用程序?qū)Υ疟P性能的需求分析_第1頁
應(yīng)用程序?qū)Υ疟P性能的需求分析_第2頁
應(yīng)用程序?qū)Υ疟P性能的需求分析_第3頁
應(yīng)用程序?qū)Υ疟P性能的需求分析_第4頁
應(yīng)用程序?qū)Υ疟P性能的需求分析_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、應(yīng)用程序?qū)Υ疟P性能的需求分析摘要:本文闡述了應(yīng)用程序?qū)Υ疟P性能的需求,分析了磁盤性能對(duì)提咼應(yīng)用程序快速響應(yīng)的重要性,說明了如何設(shè)計(jì)磁盤最佳性能,探討了最佳磁盤性能的實(shí)現(xiàn)方法。關(guān)鍵詞:應(yīng)用程序磁盤性能塊級(jí)別訪問文件級(jí)別訪問應(yīng)用程序是指為了完成某項(xiàng)或某幾項(xiàng)特定任務(wù)而被開發(fā)運(yùn)行操作系統(tǒng)之上的計(jì)算機(jī)程序,它提供了一個(gè)介于用戶和主機(jī)以及多個(gè)主機(jī)之間的界面。應(yīng)用程序都涉及到數(shù)據(jù)庫及磁盤的操作,傳統(tǒng)的商業(yè)應(yīng)用數(shù)據(jù)庫都采用三層架構(gòu)一一前端(Front-endTier)是應(yīng)用用戶界面;計(jì)算邏輯與應(yīng)用本身,構(gòu)成了中間層(MiddleTier);而組織數(shù)據(jù)的底層數(shù)據(jù)庫則是后端(Back-endtier)。應(yīng)用程序可

2、以直接發(fā)送一個(gè)請(qǐng)求到底層操作系統(tǒng),由操作系統(tǒng)來完成在存儲(chǔ)設(shè)備上的讀寫操作。應(yīng)用程序也可以在數(shù)據(jù)庫之上,而數(shù)據(jù)庫同樣也要利用操作系統(tǒng)的服務(wù)來實(shí)現(xiàn)對(duì)存儲(chǔ)設(shè)備的讀寫操作,這些讀寫操作最終完成了前端和后端之間的事務(wù)。應(yīng)用程序?qū)?shù)據(jù)訪問可以分為塊級(jí)別(Block-level)和文件級(jí)別(File-level)兩種方式。塊級(jí)別訪問是磁盤訪問的基本機(jī)制,數(shù)據(jù)是通過指定邏輯塊地址來從磁盤存儲(chǔ)和查詢數(shù)據(jù)的。如oracle和SQLserver,在進(jìn)行I/O操作時(shí),就是根據(jù)邏輯塊地址來定位數(shù)據(jù)的位置和定義數(shù)據(jù)訪問塊的大小。文件級(jí)別訪問(File-levelAccess)是塊級(jí)別訪問的一個(gè)抽象,是通過指定文件名和路徑

3、來訪問數(shù)據(jù)的。它通過底層的塊級(jí)別訪問來存儲(chǔ),向上則為應(yīng)用程序和DBMS屏蔽了邏輯塊編址(LogicalBlockAddressing,LBA)的復(fù)雜性。當(dāng)磁盤的隨機(jī)讀寫次數(shù)達(dá)到每秒300次左右時(shí),就基本達(dá)到極限了,這時(shí)候10系統(tǒng)就出現(xiàn)了性能瓶頸,會(huì)造成大量請(qǐng)求積壓、進(jìn)程等待、CPU資源耗盡等糟糕情況,所以我們一定要避免出現(xiàn)這樣的情況通常情況下應(yīng)該讓系統(tǒng)中每塊磁盤的使用率不要超出70%,也就是不超過大約每秒210次隨機(jī)訪問。1磁盤性能存儲(chǔ)容量的大小都是由應(yīng)用程序的存儲(chǔ)需求分析所決定。根據(jù)文件系統(tǒng)的大小和數(shù)量,以及應(yīng)用程序?qū)⒁褂玫臄?shù)據(jù)庫部件來評(píng)估確定。應(yīng)用程序的I/O大小及其產(chǎn)生I/O數(shù)量是影響

4、磁盤性能和響應(yīng)時(shí)間的兩個(gè)重要指標(biāo)。因此,應(yīng)用程序的存儲(chǔ)設(shè)計(jì)和布局需要從以下兩個(gè)方面著手。分析最高負(fù)載時(shí)產(chǎn)生的I/O數(shù)量。記錄下應(yīng)用程序I/O大小或是塊大?。粔K大小取塊于應(yīng)用程序所依賴的文件系統(tǒng)和數(shù)據(jù)庫,數(shù)據(jù)庫環(huán)境中的塊大小通常是由底層數(shù)據(jù)庫引擎及其環(huán)境變量集所控制的案例1:一個(gè)SCSI控制器(SCSI接口),其吞吐率為160MB/S,磁盤服務(wù)時(shí)間RS=0.3mSo當(dāng)數(shù)據(jù)庫I/O塊大小為4KB、8KB、16KB、32KB和64KB時(shí),I/O服務(wù)的速率(1/RS+傳輸時(shí)間)如表1所示。應(yīng)用程序I/O服務(wù)的速率以每秒鐘多少次I/O操作來度量(InputOutputPerSecond,IOPS)俵1)

5、。由此可知,該控制器的IOPS數(shù)量取決于I/O塊大小,其范圍從1400(塊大小為64KB)到3100(塊大小為4KB)不等。而這中間磁盤服務(wù)時(shí)間(RS)是衡量磁盤性能的一個(gè)關(guān)健指標(biāo)。RS和磁盤利用率(U)決定了對(duì)應(yīng)用的I/O響應(yīng)時(shí)間。我們得知,總的磁盤服務(wù)時(shí)間(RS)是尋道時(shí)間(E)、旋轉(zhuǎn)延遲(L)和內(nèi)部傳輸時(shí)間(X)的總和。RS=E+L+XE是由I/O請(qǐng)求的隨機(jī)性決定的丄和X可以由磁盤制造商提供的技術(shù)規(guī)格計(jì)算得到。案例2:(1)在一個(gè)隨機(jī)I/O環(huán)境中,平均尋道時(shí)間為5ms,E=5ms。(2)磁盤旋轉(zhuǎn)速率為15000r/min由此可以確定旋轉(zhuǎn)延遲(L),是旋轉(zhuǎn)一圈時(shí)間的一半,即L=(0.5/1

6、5000r/min,需要用ms來表示)。內(nèi)部數(shù)據(jù)轉(zhuǎn)輸為40MB/S,其內(nèi)部傳輸時(shí)間(X)可以根據(jù)I/O塊大小來計(jì)算。比如,如果塊大小為32KB,那么X=32KB/40MB。由此,RS=5ms+(0.5/15000)+32KB/40MB=7.8ms,每秒鐘最大的I/O服務(wù)次數(shù),即IOPS=1/R。也就是說,當(dāng)塊大小等于32KB,RS=7.8ms時(shí),磁盤的最大IOPS將是1(7.810-3)=128IOPS.表2列述了不同塊大小時(shí)的最大IOPS。表2說明,尋道時(shí)間E仍然是RS中的主要因素,其大小為5ms,占據(jù)了磁盤服務(wù)時(shí)間的58%70%(從7.1ms8.6ms)。對(duì)不同塊大小,IOPS的范圍從11

7、6到140,這也意味著可以達(dá)到極高的利用率(接近100%)。但是當(dāng)利用率或是IOPS升高時(shí),應(yīng)用的響應(yīng)時(shí)間R也將提高。在表2中,塊大小為64KB時(shí),I/O響應(yīng)時(shí)間接近215ms控制器工作時(shí)的利用率高達(dá)96%。響應(yīng)時(shí)間計(jì)算機(jī)如下。R=RS/(1-U)=8.6/(1-0.96)=215ms如果一個(gè)應(yīng)用要求更快的響應(yīng)時(shí)間,那么磁盤利用率心須維持在70%發(fā)下或是附近。如果高了響應(yīng)時(shí)間就會(huì)呈指數(shù)增長。以表2為例。當(dāng)塊大小為8KB時(shí),利用率接近100%,IOPS可以達(dá)到139。然而,當(dāng)利用率U=97%,IOPS大約為134,則每次I/O的響應(yīng)時(shí)間為240msIOPS為105(利用率=75%)時(shí),響應(yīng)時(shí)間僅

8、為29.5;IOPS為75(利用率=54%)時(shí),響應(yīng)時(shí)間為15.7ms;IOPS為45(利用率=32%)時(shí),響應(yīng)時(shí)間為10.6mso當(dāng)塊大小為64KB,利用率為100%時(shí),最大的IOPS可以保持在116。在這種塊大小不一及相應(yīng)的產(chǎn)品規(guī)格下,應(yīng)用程序?qū)⒉豢赡苓_(dá)到135IOPS。此時(shí)若IOPS為105(U=91%),響應(yīng)時(shí)間為88.6ms而若IOPS為45(U=39%),響應(yīng)時(shí)間為14.6ms。2應(yīng)用程序需求應(yīng)用程序的存儲(chǔ)需求是要根據(jù)滿足應(yīng)用程序的存儲(chǔ)容量和IOPS來確定的。如果一個(gè)應(yīng)用程序需要300G的存儲(chǔ)空間,那么當(dāng)前一塊磁盤就能滿足這種需求。然而,如果應(yīng)用程序的I/O需求很高時(shí),這將會(huì)導(dǎo)致性

9、能下降,甚至出現(xiàn)訪問超時(shí)現(xiàn)象,因?yàn)橐粔K磁盤不可能滿足高需求的I/O響應(yīng)時(shí)間。一個(gè)應(yīng)用程序所需要的磁盤數(shù)(N)可以通過如下方式計(jì)算得到:如果C是滿足容量需求的磁盤數(shù)量,而I是為了滿足IOPS需求的磁盤數(shù)量,那么N=Max(C,I)。磁盤制造商會(huì)根據(jù)不同應(yīng)用場(chǎng)合及塊大小,用相關(guān)基準(zhǔn)程序測(cè)試磁盤IOPS能力,供用戶選擇,這才出現(xiàn)了用戶級(jí)、企業(yè)級(jí)磁盤。假設(shè)一個(gè)應(yīng)用程序的容量需求為1.46TB,應(yīng)用程序最高負(fù)載時(shí)的IOPS為9000,磁盤制造商提供的磁盤容量為146GB,轉(zhuǎn)速為15000r/min,可以達(dá)到的最大IOPS為180(利用率U=70%)。為了滿足容量需求,需要1.46TB/146G=100個(gè)磁盤。而為了滿足高達(dá)9000的IOPS需求,而需要50個(gè)磁盤(9000/180)。結(jié)果,為了滿足應(yīng)用程序的需求。將需要50=Max(10,50)個(gè)磁盤。3結(jié)語為了保證應(yīng)用程序的響應(yīng)時(shí)間,在許多應(yīng)用環(huán)境中,對(duì)那些響應(yīng)時(shí)間敏感的應(yīng)用往往需要更多的磁盤來滿足IOPS需求,如使用RAID,而容量需求反在其次,磁盤需求數(shù)還必須以單個(gè)磁盤低于70%使用率時(shí)的IOPS來計(jì)算。以求達(dá)到應(yīng)用程序的最佳響應(yīng)時(shí)間。參考文獻(xiàn)張冬大話存儲(chǔ)M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論