專利名稱:磁盤有效緩存容量的測(cè)量方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測(cè)量技術(shù),特別涉及一種磁盤有效緩存(Cache)容量的測(cè) 量方法。
背景技術(shù):
現(xiàn)有技術(shù)為了提高中央處理器(CPU)對(duì)物理磁盤的讀寫速度,通常會(huì) 在CPU和物理i茲盤之間設(shè)置》茲盤Cache,以減少CPU對(duì)物理^茲盤的直接訪 問次數(shù)。這樣,如果CPU需要從物理磁盤讀取的數(shù)據(jù)緩存在磁盤Cache中, 則CPU可直接從》茲盤Cache中讀?。蝗绻鸆PU需要向物理磁盤中寫數(shù)據(jù), 有兩種方法,其中一種方法,也是普遍采用的方法,CPU只需將數(shù)據(jù)寫入至 Cache即可返回寫成功消息,從而無需CPU等待物理》茲盤的機(jī)械臂移動(dòng)尋址 過程;另外一種方法是要等待數(shù)據(jù)完全寫入磁盤后才返回寫成功消息,這種 方法效率比4交低。
其中,根據(jù)替換算法,當(dāng)磁盤Cache不能再容納更多的數(shù)據(jù)時(shí),如果物 理磁盤中的數(shù)據(jù)需要被讀入至該》茲盤Cache、或CPU需要向該磁盤Cache 中再寫入數(shù)據(jù),則需要利用預(yù)設(shè)的調(diào)度算法替換磁盤Cache中已有的某些數(shù)據(jù)。
如此一來,由于CPU無需等待物理磁盤通過其機(jī)械臂移動(dòng)的尋址過程, 因而大大加快了 CPU對(duì)物理磁盤的讀寫速度。
實(shí)際應(yīng)用中,CPU對(duì)物理石茲盤的讀取速度取決于磁盤Cache的訪問速 度,而磁盤Cache的訪問速度則取決于該磁盤Cache中能夠真正被利用到的 存儲(chǔ)空間容量,即有效Cache容量。
但由于現(xiàn)有各種調(diào)度算法的局限性,磁盤Cache的實(shí)際容量一般不能 100%得到利用,即有效Cache容量一般不能達(dá)到該磁盤Cache的最大容量, 因而使得實(shí)際容量較大的磁盤Cache,有可能由于其有效Cache容量較低而 無法有效提高CPU對(duì)物理磁盤的讀取速度。
由此可知,在選擇磁盤Cache時(shí),不但要考慮其標(biāo)稱容量的大小,更為 重要地還要考慮磁盤Cache的有效Cache容量大小。
然而,現(xiàn)有技術(shù)中卻沒有能夠測(cè)量有效Cache容量大小的方案,從而不 能更好根據(jù)有效Cache容量大小選擇磁盤。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種磁盤有效Cache容量的測(cè)量方法,能夠測(cè) 量磁盤Cache的有效Cache容量。
本發(fā)明還提供一種磁盤有效Cache容量的測(cè)量裝置,能夠測(cè)量磁盤 Cache的有效Cache容量。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
本發(fā)明提供的 一種^f茲盤有效Cache容量的測(cè)量方法,包括
A、 按照預(yù)先設(shè)定的次數(shù)H,循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,計(jì)算 本次循環(huán)的平均吞吐量;
B、 將M按照一定步長(zhǎng)增大,判斷M是否小于預(yù)先設(shè)定的最大值N,如果 是,則重復(fù)執(zhí)行上述步驟A;如果否,則執(zhí)行步驟C;
C、 判斷所述平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定,如果是,則獲取平均吞 吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為所述平均吞吐量出現(xiàn)下降時(shí)的M 值與數(shù)據(jù)塊大小的積。
本發(fā)明還提供一種磁盤有效Cache容量的測(cè)量裝置,包括 讀取模塊,用于循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,所述H為預(yù)先設(shè) 定的次數(shù);
平均吞吐量計(jì)算模塊,用于計(jì)算讀取模塊循環(huán)讀取的平均吞吐量; 判斷模塊,用于判斷所述讀取模塊所讀取的數(shù)據(jù)塊的個(gè)數(shù)M是否小于預(yù)先設(shè)定的最大值N,如果是,則按照一定步長(zhǎng)增大M值,指示讀^f莫塊重新循環(huán) 讀取數(shù)據(jù)塊,所述數(shù)據(jù)塊的個(gè)數(shù)為增大后的M值;如果否,則指示有效緩存容
量計(jì)算模塊進(jìn)行計(jì)算;
有效緩存容量計(jì)算模塊,用于在接收到判斷模塊的指示后,獲取平均吞吐 量計(jì)算模塊所計(jì)算的所有平均吞吐量,判斷所述平均吞吐量是否出現(xiàn)下降并維
持穩(wěn)定,如果是,則獲取平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為 所述平均吞吐量出現(xiàn)下降時(shí)的M值與數(shù)據(jù)塊大小的積。
由上述技術(shù)方案可見,本發(fā)明提出的方法和裝置,通過循環(huán)讀取多個(gè)連 續(xù)的數(shù)據(jù)塊,逐漸增大數(shù)據(jù)塊的塊數(shù),使得吞吐量顯著下降之后維持穩(wěn)定, 確定吞吐量開始下降時(shí)讀取數(shù)據(jù)塊的塊數(shù),根據(jù)該下降點(diǎn)的塊數(shù)和數(shù)據(jù)塊的 大小,能夠確定出磁盤有效Cache容量。
圖1為本發(fā)明實(shí)施例吞吐量的變化曲線示意圖2為本發(fā)明實(shí)施例平均吞吐量的均值和標(biāo)準(zhǔn)方差曲線示意圖3為本發(fā)明實(shí)施例測(cè)量》茲盤有效Cache容量的方法流程圖4為應(yīng)用本發(fā)明方法測(cè)試》茲盤A的有效Cache容量的第一結(jié)果示意
圖5為應(yīng)用本發(fā)明方法測(cè)試/磁盤A的有效Cache容量的第二結(jié)果示意
圖6為應(yīng)用本發(fā)明方法測(cè)試磁盤B的有效Cache容量的第一結(jié)果示意
圖7為應(yīng)用本發(fā)明方法測(cè)試石茲盤B的有效Cache容量的第二結(jié)果示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉 實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明實(shí)施例提出 一種磁盤有效緩存容量的測(cè)量方法,包括
A、 按照預(yù)先設(shè)定的次數(shù)H,循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,計(jì)算 本次循環(huán)的平均吞吐量;
B、 將M按照一定步長(zhǎng)增大,判斷M是否小于預(yù)先設(shè)定的最大值N,如果 是,則重復(fù)執(zhí)行上述步驟A;如果否,則執(zhí)行步驟C;
C、 判斷所述平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定,如果是,則獲取平均吞 吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為平均吞吐量出現(xiàn)下降時(shí)的M值 與數(shù)據(jù)塊大小的積。
前面提到,讀取數(shù)據(jù)時(shí),系統(tǒng)首先檢查請(qǐng)求的數(shù)據(jù)是否在Cache中,如果 在Cache中,則直接從Cache中讀?。蝗绻辉贑ache中,則從i茲盤中讀取, 并將讀取的數(shù)據(jù)保留在Cache中,在下次讀取該數(shù)據(jù)時(shí)則直接從Cache讀取即 可。本發(fā)明正是利用了這一特點(diǎn),循環(huán)讀取一個(gè)大文件的M個(gè)數(shù)據(jù)塊,直到M 足夠大時(shí),使Cache失效,讀取的吞吐量會(huì)隨著M值的增大而顯著下降并最終 趨于穩(wěn)定,吞吐量出現(xiàn)下降時(shí)的M值就是有效Cache大小的計(jì)算點(diǎn)。如圖l所 示,圖1為本發(fā)明實(shí)施例吞吐量的變化曲線示意圖。在圖1中,吞吐量隨著M 的增大而出現(xiàn)下降并維持平穩(wěn),下降點(diǎn)B就是有效Cache大小的計(jì)算點(diǎn),即
有效Cache大小=數(shù)據(jù)塊大小xB點(diǎn)的數(shù)據(jù)塊個(gè)數(shù)
以下結(jié)合上述方法具體介紹
步驟A中,初次讀取時(shí),應(yīng)使M的初始值足夠小,以保證M個(gè)數(shù)據(jù)塊的 總量小于有效Cache的容量。在第一次執(zhí)行讀取M個(gè)數(shù)據(jù)塊時(shí), 一般會(huì)發(fā)生強(qiáng) 制性失效,因?yàn)榈谝淮巫x取的數(shù)據(jù)塊一般不會(huì)在Cache中。此時(shí)需要從^磁盤讀 取數(shù)據(jù)塊,并保存到Cache中。之后循環(huán)執(zhí)行循環(huán)讀取M個(gè)數(shù)據(jù)塊時(shí),在所讀 數(shù)據(jù)塊總大小小于有效cache的情況下,由于第一次讀取的M個(gè)數(shù)據(jù)塊已經(jīng)被 保存在Cache中,后續(xù)的數(shù)據(jù)塊都會(huì)命中,可以直接從Cache中讀取,此時(shí)計(jì) 算出的平均吞吐量相當(dāng)于直接從Cache讀取的吞吐量,吞吐量比較高。
在步驟A中循環(huán)讀取H次后計(jì)算平均吞吐量,其目的是為了消除測(cè)試中少
數(shù)誤差數(shù)據(jù)的影響。H的值應(yīng)足夠大。
步驟B中,增大M值的主要目的是使讀取的數(shù)據(jù)塊從小到大最終超過有效 cache的大小。M按照一定步長(zhǎng)逐漸增大,其目的是使測(cè)量精度更高,修改M 增大的步長(zhǎng)可以確定不同的測(cè)量并奇度。本發(fā)明實(shí)施例中,取步長(zhǎng)為1。
如果通過修改M的值,使每次循環(huán)讀取的數(shù)據(jù)塊的總量超過了有效cache 的大小,則循環(huán)讀取過程中,就會(huì)發(fā)生數(shù)據(jù)塊替換的情況。例如為了將數(shù)據(jù) 塊B讀入cache,根據(jù)替換算法,前面已經(jīng)被讀入的數(shù)據(jù)塊A會(huì)被替換出去, 當(dāng)再次讀取該數(shù)據(jù)塊A時(shí)發(fā)生數(shù)據(jù)塊缺失的情況,則再次發(fā)生數(shù)據(jù)塊替換,可 能會(huì)將數(shù)據(jù)塊C替換出去,這樣不斷地替換、缺失,導(dǎo)致幾乎所有的數(shù)據(jù)塊都 需要直接從^磁盤進(jìn)行讀取,cache所做的工作就是不停的替換,卻很少命中。這 種情況下計(jì)算的平均吞吐量,相當(dāng)于直接從磁盤讀取的吞吐量,吞吐量很低。
判斷平均吞吐量是否顯著下降以及多次下降的結(jié)果是否維持穩(wěn)定有兩種方 法實(shí)現(xiàn)①根據(jù)輸出的平均吞吐量的結(jié)果繪制曲線,直接觀察是否顯著下降并 維持穩(wěn)定,該方法簡(jiǎn)單,適用于測(cè)試結(jié)果數(shù)據(jù)比較規(guī)范的情況。②根據(jù)測(cè)試結(jié) 果,對(duì)于每個(gè)輸出的平均吞吐量,計(jì)算前連續(xù)X個(gè)平均吞吐量(包括當(dāng)前平均 吞吐量)的均值和標(biāo)準(zhǔn)方差,并繪制兩個(gè)對(duì)應(yīng)曲線。如圖2,圖2為本發(fā)明實(shí) 施例平均吞吐量的均值和標(biāo)準(zhǔn)方差曲線示意圖。在Cache不失效的情況下,計(jì) 算的均值比較高,并且數(shù)值相差不大,即標(biāo)準(zhǔn)方差值比較??;如果在某一點(diǎn)B, Cache失效,則該點(diǎn)前連續(xù)X個(gè)值(包括該點(diǎn))的平均值就會(huì)下降,并且標(biāo)準(zhǔn) 方差值會(huì)顯著提升,即吞吐量差異增大。如果按照該方法,在C點(diǎn)以后,連續(xù) 輸出X個(gè)結(jié)果的均值在下降后維持在一個(gè)比較低的值并且最終趨于平緩,而標(biāo) 準(zhǔn)方差值在顯著提升后又逐漸下降,最終趨于平緩,并最終維持在一個(gè)比較低 的值范圍內(nèi),可認(rèn)為是穩(wěn)定狀態(tài),那么B點(diǎn)就是Cache失效的對(duì)應(yīng)點(diǎn),并且認(rèn) 為曲線下降后維持穩(wěn)定。B點(diǎn)的對(duì)應(yīng)的數(shù)據(jù)塊個(gè)數(shù)與數(shù)據(jù)塊大小的積即等于有 效Cache的容量。
另外,最大值N可以根據(jù)廠家標(biāo)稱的Cache大小來進(jìn)行計(jì)算,具體為 N = n+「標(biāo)稱的(:^1^容量/數(shù)據(jù)塊大小],其中,符號(hào)"「]"表示向上取整,
其含義是取不小于某數(shù)的最小整數(shù);n為自然數(shù),加n的目的是使得N的值大 于磁盤廠家標(biāo)稱的Cache容量除以數(shù)據(jù)塊大小后向上取整的值,則N個(gè)數(shù)據(jù)塊 的容量必然大于有效Cache容量,當(dāng)M增大到N時(shí), 一定會(huì)引起Cache失效。
當(dāng)無法獲知廠家標(biāo)稱的Cache大小時(shí),N的值可以#4居市場(chǎng)主流Cache的 容量進(jìn)行計(jì)算。如果M增大到預(yù)先設(shè)定的N時(shí),平均吞吐量仍未出現(xiàn)下降并 維持穩(wěn)定,說明預(yù)先設(shè)置的N值不夠大,則按照預(yù)先設(shè)定的速度增大N值,比 如將N值增大到原先的2倍,繼續(xù)執(zhí)行循環(huán)讀取并計(jì)算平均吞吐量的步驟,直 至平均吞吐量出現(xiàn)下降并維持穩(wěn)定時(shí),獲取平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì) 算出有效Cache的容量為平均吞吐量出現(xiàn)下降時(shí)的M值與數(shù)據(jù)塊大小的積。
以下舉具體的實(shí)施例進(jìn)行介紹,參見圖3,圖3為本發(fā)明實(shí)施例測(cè)量有效 Cache容量的方法流程圖。包括
步驟301:設(shè)置讀取數(shù)據(jù)塊的最大值N,設(shè)置循環(huán)讀取的次數(shù)H,設(shè)置讀 取數(shù)據(jù)塊個(gè)數(shù)的初始值為1,即M的初始值為1。其中,N的設(shè)置方式與上述 方式相同,在此不贅。H的值要求足夠大,以保證計(jì)算出的平均吞吐量盡量精 確。
步驟302:循環(huán)讀取M個(gè)數(shù)據(jù)塊H次,計(jì)算本次循環(huán)的平均吞吐量。增大 M的值,本實(shí)施例中,可以設(shè)定M增大的步長(zhǎng)為1,即1VNM+1。
步驟303:判斷M是否小于預(yù)先設(shè)置的N,如果是,則執(zhí)行步驟302;否 則,執(zhí)行步驟304。
步驟304:判斷每次循環(huán)計(jì)算出的平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定, 本實(shí)施例中,判斷的方式可以為根據(jù)均值和標(biāo)準(zhǔn)方差進(jìn)行判斷。如果出現(xiàn)下 降并維持穩(wěn)定,則執(zhí)行步驟305。如果預(yù)先設(shè)定的N是根據(jù)廠家標(biāo)稱的Cache 容量計(jì)算得出的,則平均吞吐量一定會(huì)出現(xiàn)下降并維持穩(wěn)定。但是,如果預(yù)先 設(shè)定的N是^4居市場(chǎng)主流的Cache容量計(jì)算得出的,則當(dāng)M增大到N時(shí),M 個(gè)數(shù)據(jù)塊的總長(zhǎng)度可能還未超過有效Cache容量,此時(shí)不會(huì)出現(xiàn)平均吞吐量下 降的現(xiàn)象。當(dāng)判斷出平均吞吐量未出現(xiàn)下降并維持穩(wěn)定時(shí),執(zhí)行步驟306。
步驟305:計(jì)算有效Cache容量=平均吞吐量出現(xiàn)下降時(shí)M的值x數(shù)據(jù)塊大 小,結(jié)束本流程。
步驟306:加速增大N值,本實(shí)施例中使N增大到原來的2倍,即N=Nx2, 并使M再增加1,繼續(xù)執(zhí)行步驟302。
此后可以多次增大N值,直至平均吞吐量未出現(xiàn)下降并維持穩(wěn)定后,計(jì)算 有效Cache容量。
此外,本發(fā)明提出的方法中,采用時(shí)鐘周期作為計(jì)時(shí)單位,計(jì)時(shí)精確,誤 差小。在每個(gè)M值設(shè)置結(jié)束后開始計(jì)時(shí),當(dāng)前M值所有讀取循環(huán)結(jié)束后計(jì)時(shí) 結(jié)束,計(jì)算本次循環(huán)的平均吞吐量。
以下應(yīng)用本發(fā)明提出的方法對(duì)》茲盤有效Cache進(jìn)行測(cè)試,測(cè)試環(huán)境為CPU 3.0GHz,千兆網(wǎng)卡,兩塊均為147G的SCSI磁盤,其中磁盤A為廠家1生產(chǎn), 標(biāo)稱Cache為8M,磁盤B為廠家2生產(chǎn),標(biāo)稱Cache為8M,在WINDOWS SERVER2003進(jìn)行了測(cè)試。其中,讀取的數(shù)據(jù)塊大小為64K。
首先對(duì)》茲盤A的有效Cache容量進(jìn)行測(cè)試。參見圖4,圖4為應(yīng)用本發(fā)明方 法測(cè)試i茲盤A的有效Cache容量的第一結(jié)果示意圖。圖4中,X軸為讀取的數(shù) 據(jù)塊數(shù),Y軸為平均吞吐量,單位為MB/S。由圖4可見,數(shù)據(jù)塊數(shù)為82時(shí), 平均吞吐量開始下降,此后逐漸維持穩(wěn)定。
再根據(jù)圖4的結(jié)果計(jì)算平均吞吐量的均值和標(biāo)準(zhǔn)方差,如圖5所示,圖5 為應(yīng)用本發(fā)明方法測(cè)試^磁盤A的有效Cache容量的第二結(jié)果示意圖。在5中, X軸為均值的序列號(hào),位于上方的曲線表示取連續(xù)10個(gè)平均吞吐量計(jì)算出的均 值,位于下方的曲線表示平均吞吐量的標(biāo)準(zhǔn)方差。由圖5可見,當(dāng)計(jì)算第73 個(gè)均值時(shí),平均吞吐量的均值開始下降,此后逐漸維持穩(wěn)定;并且當(dāng)計(jì)算出第 73個(gè)均值時(shí),平均吞吐量的標(biāo)準(zhǔn)方差開始增大,增大到最高值時(shí)下降并維持很 小值。由于當(dāng)出現(xiàn)第IO個(gè)平均吞吐量時(shí),才能計(jì)算第l個(gè)均值;故第73個(gè)均 值的時(shí)刻對(duì)應(yīng)第82個(gè)平均吞吐量,此時(shí)讀取的數(shù)據(jù)塊數(shù)也為82。可見,驗(yàn)證 結(jié)果與圖4的結(jié)果相同。
由此,可以計(jì)算出磁盤A的有效Cache容量-64Kx82-5.125M 之后對(duì)》茲盤B的有效Cache容量進(jìn)行測(cè)試。圖6為應(yīng)用本發(fā)明方法測(cè)試^茲 盤B的有效Cache容量的第一結(jié)果示意圖。圖7為應(yīng)用本發(fā)明方法測(cè)試J茲盤B 的有效Cache容量的第二結(jié)果示意圖。圖6和圖7均表明數(shù)據(jù)塊個(gè)數(shù)為19時(shí), 平均吞吐量開始下降,此后逐漸維持穩(wěn)定。由此,可以計(jì)算出磁盤B的有效Cache 容量64Kxl9-1.826M
本發(fā)明實(shí)施例還提出一種磁盤有效緩存容量的測(cè)量裝置,包括 讀取模塊,用于循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,所述H為預(yù)先設(shè) 定的次數(shù);
平均吞吐量計(jì)算模塊,用于計(jì)算讀取模塊循環(huán)讀取的平均吞吐量; 判斷模塊,用于判斷所述讀取模塊所讀取的數(shù)據(jù)塊的個(gè)數(shù)M是否小于預(yù)先 設(shè)定的最大值N,如果是,則按照一定步長(zhǎng)增大M值,指示讀取模塊重新循環(huán) 讀取數(shù)據(jù)塊,所述數(shù)據(jù)塊的個(gè)數(shù)為增大后的M值;如果否,則指示有效緩存容
量計(jì)算模塊進(jìn)行計(jì)算;
有效緩存容量計(jì)算模塊,用于在接收到判斷模塊的指示后,獲取平均吞吐 量計(jì)算模塊所計(jì)算的所有平均吞吐量,判斷所述平均吞吐量是否出現(xiàn)下降并維
持穩(wěn)定,如果是,則獲取平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為 所述平均吞吐量出現(xiàn)下降時(shí)的M值與數(shù)據(jù)塊大小的積。
上述有效緩存容量計(jì)算模塊還用于,計(jì)算連續(xù)多個(gè)平均吞吐量的均值和標(biāo) 準(zhǔn)方差,根據(jù)所述均值和標(biāo)準(zhǔn)方差判斷平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定。
上述判斷模塊還用于,當(dāng)有效緩存容量計(jì)算模塊判斷出平均吞吐量沒有出 現(xiàn)下降并維持穩(wěn)定時(shí),按照預(yù)先設(shè)定的速度增大N值,判斷所述讀取模塊所讀 取的數(shù)據(jù)塊的個(gè)數(shù)M是否小于增大后的N值,如果是,則指示讀取模塊重新 執(zhí)行循環(huán)讀取,如果否,則指示有效緩存容量計(jì)算模塊進(jìn)行計(jì)算。
上述裝置中,所述N大于所述緩存廠家所標(biāo)稱的緩存容量除以所述數(shù)據(jù)塊 大小后向上取整的值。
綜上可見,本發(fā)明實(shí)施例提出的磁盤有效Cache容量的測(cè)量方法和裝置,
以塊為單位,循環(huán)從一個(gè)大的文件中讀取多個(gè)數(shù)據(jù)塊,逐漸增加連續(xù)讀取的數(shù) 據(jù)塊的塊數(shù),直到吞吐量顯著下降,并且連續(xù)多次下降之后維持穩(wěn)定后,確定 吞吐量開始下降時(shí)讀取數(shù)據(jù)塊的塊數(shù),根據(jù)該下降點(diǎn)的塊數(shù)和數(shù)據(jù)塊的大小,
能夠確定出^f茲盤有效Cache容量。其計(jì)算結(jié)果可以作為評(píng)價(jià)^磁盤Cache算法的 參考。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范 圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種磁盤有效緩存容量的測(cè)量方法,其特征在于,所述方法包括A、按照預(yù)先設(shè)定的次數(shù)H,循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,計(jì)算本次循環(huán)的平均吞吐量;B、將M按照一定步長(zhǎng)增大,判斷M是否小于預(yù)先設(shè)定的最大值N,如果是,則重復(fù)執(zhí)行上述步驟A;如果否,則執(zhí)行步驟C;C、判斷所述平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定,如果是,則獲取平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為所述平均吞吐量出現(xiàn)下降時(shí)的M值與數(shù)據(jù)塊大小的積。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷平均吞吐量是否出 現(xiàn)下降并維持穩(wěn)定的方式為計(jì)算連續(xù)多個(gè)平均吞吐量的均值和標(biāo)準(zhǔn)方差,根 據(jù)所述均值和標(biāo)準(zhǔn)方差進(jìn)行判斷。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法進(jìn)一步包括 如果所述平均吞吐量未出現(xiàn)下降并維持穩(wěn)定,則按照預(yù)先設(shè)定的速度增大N值, 繼續(xù)執(zhí)行所述步驟A和步驟B,直至平均吞吐量出現(xiàn)下降并維持穩(wěn)定時(shí),獲取 平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量。
4、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述N大于所述磁盤 的廠家所標(biāo)稱的緩存容量除以數(shù)據(jù)塊大小后向上取整的值。
5、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述M的初始值為1。
6、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述M增大的步長(zhǎng)為1。
7、 一種磁盤有效緩存容量的測(cè)量裝置,其特征在于,所述裝置包括 讀取模塊,用于循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,所述H為預(yù)先設(shè)定的次數(shù);平均吞吐量計(jì)算模塊,用于計(jì)算讀取模塊循環(huán)讀取的平均吞吐量; 判斷模塊,用于判斷所述讀取模塊所讀取的數(shù)據(jù)塊的個(gè)數(shù)M是否小于預(yù)先 設(shè)定的最大值N,如果是,則按照一定步長(zhǎng)增大M值,指示讀取才莫塊重新循環(huán) 讀取數(shù)據(jù)塊,所述數(shù)據(jù)塊的個(gè)數(shù)為增大后的M值;如果否,則指示有效緩存容 量計(jì)算模塊進(jìn)行計(jì)算;有效緩存容量計(jì)算模塊,用于在接收到判斷模塊的指示后,獲取平均吞吐 量計(jì)算模塊所計(jì)算的所有平均吞吐量,判斷所述平均吞吐量是否出現(xiàn)下降并維 持穩(wěn)定,如果是,則獲取平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為 所述平均吞吐量出現(xiàn)下降時(shí)的M值與數(shù)據(jù)塊大小的積。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述有效緩存容量計(jì)算模塊 還用于,計(jì)算連續(xù)多個(gè)平均吞吐量的均值和標(biāo)準(zhǔn)方差,根據(jù)所述均值和標(biāo)準(zhǔn)方 差判斷平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定。
9、 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述判斷模塊還用于, 當(dāng)有效緩存容量計(jì)算模塊判斷出平均吞吐量沒有出現(xiàn)下降并維持穩(wěn)定時(shí),按照 預(yù)先設(shè)定的速度增大N值,判斷所述讀取模塊所讀取的數(shù)據(jù)塊的個(gè)數(shù)M是否 小于增大后的N值,如果是,則指示讀取模塊重新執(zhí)行循環(huán)讀取,如果否,則 指示有效緩存容量計(jì)算模塊進(jìn)行計(jì)算。
10、 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述N大于所述磁盤 的廠家所標(biāo)稱的緩存容量除以所述數(shù)據(jù)塊大小后向上取整的值。
全文摘要
本發(fā)明公開了一種磁盤有效緩存(Cache)容量的測(cè)量方法及裝置,其中方法包括A.按照預(yù)先設(shè)定的次數(shù)H,循環(huán)讀取M個(gè)固定大小的數(shù)據(jù)塊H次,計(jì)算本次循環(huán)的平均吞吐量;B.將M按照一定步長(zhǎng)增大,判斷M是否小于預(yù)先設(shè)定的最大值N,如果是,則重復(fù)執(zhí)行上述步驟A;如果否,則執(zhí)行步驟C;C.判斷所述平均吞吐量是否出現(xiàn)下降并維持穩(wěn)定,如果是,則獲取平均吞吐量出現(xiàn)下降時(shí)的M值,計(jì)算有效緩存容量為M個(gè)所述數(shù)據(jù)塊的大小。本發(fā)明提出的方法和裝置能夠測(cè)量出磁盤Cache的有效Cache容量。
文檔編號(hào)G06F11/22GK101349983SQ20081011952
公開日2009年1月21日 申請(qǐng)日期2008年9月2日 優(yōu)先權(quán)日2008年9月2日
發(fā)明者姚俊武, 李瑞林, 邢建兵, 峰 高 申請(qǐng)人:普天信息技術(shù)研究院有限公司