一種測試磁盤旋轉(zhuǎn)時(shí)間、柱面容量的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)存儲技術(shù)領(lǐng)域,特別是涉及一種測試磁盤旋轉(zhuǎn)時(shí)間、柱面容量的方法及裝置。
【背景技術(shù)】
[0002]磁盤由于在容量、價(jià)格和性能上擁有很好的平衡,是現(xiàn)在使用最廣泛的存儲介質(zhì)。磁盤有其本身的特點(diǎn),雖然容量大、價(jià)格便宜但是由于其本身固有的物理特性決定了其性能相對更新的存儲介質(zhì)有很大差別。正因?yàn)槿绱?,為了提供更好的性能,越來越多的文件系統(tǒng)和存儲系統(tǒng)在設(shè)計(jì)的時(shí)候會針對磁盤的特點(diǎn)做很多的優(yōu)化。
[0003]影響磁盤性能的主要因素是尋道時(shí)間和旋轉(zhuǎn)時(shí)間,在實(shí)際情況中經(jīng)常需要實(shí)際測試這些值以幫助估計(jì)文件系統(tǒng)或者存儲系統(tǒng)的性能表現(xiàn)。同時(shí)對許多經(jīng)常被讀寫的元數(shù)據(jù)等數(shù)據(jù)信息,還需要根據(jù)磁盤的物理特點(diǎn),根據(jù)磁道的大小來調(diào)整元數(shù)據(jù)的存放位置,盡量避免不必要的尋道,從而減少尋道時(shí)間,提高存儲系統(tǒng)的讀寫性能。
[0004]因此,提供一種測試磁盤旋轉(zhuǎn)時(shí)間、柱面容量的方法及裝置是非常有必要的。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種測試磁盤旋轉(zhuǎn)時(shí)間、柱面容量的方法及裝置,目的在于解決現(xiàn)有技術(shù)中不能方便地測試出磁盤的旋轉(zhuǎn)時(shí)間以及柱面大小的問題。
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種測試磁盤旋轉(zhuǎn)時(shí)間的方法,包括:
[0007]創(chuàng)建第一塊設(shè)備層輸入輸出請求,所述第一塊設(shè)備層輸入輸出請求從O位置處進(jìn)行預(yù)設(shè)大小的寫操作;
[0008]順序向磁盤下發(fā)兩次第一塊設(shè)備層輸入輸出請求的寫操作;
[0009]分別記錄第一次寫操作結(jié)束的第一時(shí)鐘節(jié)拍以及第二次寫操作結(jié)束的第二時(shí)鐘節(jié)拍;
[0010]根據(jù)時(shí)鐘頻率,確定所述第一時(shí)鐘節(jié)拍以及第二時(shí)鐘節(jié)拍的時(shí)間差值,作為磁盤的旋轉(zhuǎn)時(shí)間。
[0011]可選地,在Linux系統(tǒng)內(nèi)核中發(fā)起塊設(shè)備層輸入輸出請求。
[0012]可選地,還包括:
[0013]預(yù)先將磁盤隊(duì)列調(diào)度算法設(shè)置為空操作;將磁盤寫模式設(shè)置為關(guān)閉緩存模式。
[0014]可選地,重復(fù)多次確定磁盤的旋轉(zhuǎn)時(shí)間的過程,將多次旋轉(zhuǎn)時(shí)間的平均值作為旋轉(zhuǎn)時(shí)間。
[0015]本發(fā)明還提供了一種測試磁盤旋轉(zhuǎn)時(shí)間的裝置,包括:
[0016]第一創(chuàng)建模塊,用于創(chuàng)建第一塊設(shè)備層輸入輸出請求,所述第一塊設(shè)備層輸入輸出請求從O位置處進(jìn)行預(yù)設(shè)大小的寫操作;
[0017]第一下發(fā)模塊,用于順序向磁盤下發(fā)兩次第一塊設(shè)備層輸入輸出請求的寫操作;
[0018]第一記錄模塊,用于分別記錄第一次寫操作結(jié)束的第一時(shí)鐘節(jié)拍以及第二次寫操作結(jié)束的第二時(shí)鐘節(jié)拍;
[0019]第一確定模塊,用于根據(jù)時(shí)鐘頻率,確定所述第一時(shí)鐘節(jié)拍以及第二時(shí)鐘節(jié)拍的時(shí)間差值,作為磁盤的旋轉(zhuǎn)時(shí)間。
[0020]本發(fā)明還提供了一種測試磁盤柱面容量的方法,包括:
[0021]創(chuàng)建第一塊設(shè)備層輸入輸出請求以及第二塊設(shè)備層輸入輸出請求,所述第一塊設(shè)備層輸入輸出請求從O位置處進(jìn)行預(yù)設(shè)大小的寫操作,所述第二塊設(shè)備層輸入輸出請求從預(yù)設(shè)偏移量位置處進(jìn)行所述預(yù)設(shè)大小的寫操作;
[0022]順序向磁盤下發(fā)第一塊設(shè)備層輸入輸出請求的寫操作以及第二塊設(shè)備層輸入輸出請求的寫操作;
[0023]記錄所述第二塊設(shè)備層輸入輸出請求的寫操作的時(shí)間;
[0024]按照預(yù)設(shè)增量逐漸增大所述預(yù)設(shè)偏移量的大小,重復(fù)上述向磁盤下發(fā)第一塊設(shè)備層輸入輸出請求的寫操作以及第二塊設(shè)備層輸入輸出請求的寫操作的過程,依次獲取每次第二塊設(shè)備層輸入輸出請求的寫操作的時(shí)間;
[0025]當(dāng)寫操作的時(shí)間不滿足預(yù)設(shè)規(guī)律時(shí),根據(jù)當(dāng)前寫操作的次數(shù)、所述預(yù)設(shè)偏移量以及所述預(yù)設(shè)增量確定磁盤的柱面容量。
[0026]可選地,在Linux系統(tǒng)內(nèi)核中發(fā)起塊設(shè)備層輸入輸出請求。
[0027]可選地,還包括:
[0028]預(yù)先將磁盤隊(duì)列調(diào)度算法設(shè)置為空操作;將磁盤寫模式設(shè)置為關(guān)閉緩存模式。
[0029]本發(fā)明還提供了一種測試磁盤柱面容量的裝置,包括:
[0030]第二創(chuàng)建模塊,用于創(chuàng)建第一塊設(shè)備層輸入輸出請求以及第二塊設(shè)備層輸入輸出請求,所述第一塊設(shè)備層輸入輸出請求從O位置處進(jìn)行預(yù)設(shè)大小的寫操作,所述第二塊設(shè)備層輸入輸出請求從預(yù)設(shè)偏移量位置處進(jìn)行所述預(yù)設(shè)大小的寫操作;
[0031]第二下發(fā)模塊,用于順序向磁盤下發(fā)第一塊設(shè)備層輸入輸出請求的寫操作以及第二塊設(shè)備層輸入輸出請求的寫操作;
[0032]第二記錄模塊,用于記錄所述第二塊設(shè)備層輸入輸出請求的寫操作的時(shí)間;
[0033]獲取模塊,用于按照預(yù)設(shè)增量逐漸增大所述預(yù)設(shè)偏移量的大小,重復(fù)上述向磁盤下發(fā)第一塊設(shè)備層輸入輸出請求的寫操作以及第二塊設(shè)備層輸入輸出請求的寫操作的過程,依次獲取每次第二塊設(shè)備層輸入輸出請求的寫操作的時(shí)間;
[0034]第二確定模塊,用于當(dāng)寫操作的時(shí)間不滿足預(yù)設(shè)規(guī)律時(shí),根據(jù)當(dāng)前寫操作的次數(shù)、所述預(yù)設(shè)偏移量以及所述預(yù)設(shè)增量確定磁盤的柱面容量。
[0035]本發(fā)明所提供的測試磁盤旋轉(zhuǎn)時(shí)間的方法及裝置,通過創(chuàng)建第一塊設(shè)備層輸入輸出請求;順序向磁盤下發(fā)兩次第一塊設(shè)備層輸入輸出請求的寫操作;分別記錄第一次寫操作結(jié)束的第一時(shí)鐘節(jié)拍以及第二次寫操作結(jié)束的第二時(shí)鐘節(jié)拍;根據(jù)時(shí)鐘頻率,確定第一時(shí)鐘節(jié)拍以及第二時(shí)鐘節(jié)拍的時(shí)間差值,作為磁盤的旋轉(zhuǎn)時(shí)間。此外,本發(fā)明還提供了一種測試磁盤柱面容量的方法及裝置??梢?,本發(fā)明通過對磁盤進(jìn)行I/O操作,可以方便地測試出磁盤的柱面大小和旋轉(zhuǎn)時(shí)間,不僅簡化了磁盤旋轉(zhuǎn)時(shí)間和柱面大小測試的流程步驟,同時(shí)還保證了所得到的結(jié)果的準(zhǔn)確度。
【附圖說明】
[0036]圖1為本發(fā)明所提供的測試磁盤旋轉(zhuǎn)時(shí)間的方法的一種【具體實(shí)施方式】的流程圖;
[0037]圖2為本發(fā)明所提供的測試磁盤的旋轉(zhuǎn)時(shí)間的另一種【具體實(shí)施方式】的流程圖;
[0038]圖3為本發(fā)明所提供的測試磁盤旋轉(zhuǎn)時(shí)間的裝置的一種【具體實(shí)施方式】的結(jié)構(gòu)框圖;
[0039]圖4為本發(fā)明所提供的測試磁盤柱面容量的方法的一種【具體實(shí)施方式】的流程圖;
[0040]圖5為本發(fā)明所提供的測試磁盤柱面容量的方法的另一種【具體實(shí)施方式】的流程圖;
[0041]圖6為本發(fā)明所提供的測試磁盤柱面容量的裝置的一種【具體實(shí)施方式】的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0042]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0043]本發(fā)明所提供的測試磁盤旋轉(zhuǎn)時(shí)間的方法的一種【具體實(shí)施方式】的流程圖如圖1所示,該方法包括:
[0044]步驟SlOl:創(chuàng)建第一塊設(shè)備層輸入輸出請求,所述第一塊設(shè)備層輸入輸出請求從O位置處進(jìn)行預(yù)設(shè)大小的寫操作;
[0045]步驟S102:順序向磁盤下發(fā)兩次第一塊設(shè)備層輸入輸出請求的寫操作;
[0046]步驟S103:分別記錄第一次寫操作結(jié)束的第一時(shí)鐘節(jié)拍以及第二次寫操作結(jié)束的第二時(shí)鐘節(jié)拍;
[0047]步驟S104:根據(jù)時(shí)鐘頻率,確定所述第一時(shí)鐘節(jié)拍以及第二時(shí)鐘節(jié)拍的時(shí)間差值,作為磁盤的旋轉(zhuǎn)時(shí)間。
[0048]本發(fā)明所提供的測試磁盤旋轉(zhuǎn)時(shí)間的方法,通過創(chuàng)建第一塊設(shè)備層輸入輸出請求;順序向磁盤下發(fā)兩次第一塊設(shè)備層輸入輸出請求的寫操作;分別記錄第一次寫操作結(jié)束的第一時(shí)鐘節(jié)拍以及第二次寫操作結(jié)束的第二