4,343 瀏覽數

Iometer – Maximum Disk Size

根據 Iometer 官方的說明文件裡面提到一個參數 "Maximum Disk Size" http://iometer.cvs.sourceforge.net/viewvc/iometer/iometer/Docs/Iometer.pdf 設定後 Iometer 跑出來的植有極高的表現.
Maximum_Disk_Size01
我們來看看 Maximum Disk Size 在 Iometer 的官方文件是怎麼說明的.

  • Maximum Disk Size:
    The Maximum Disk Size control specifies how many disk sectors are used by the selected worker(s). The default is 0, meaning the entire disk or \iobw.tst file (beginning with the Starting Disk Sector). If you specify a value other than zero, Iometer uses the specified number of 512-byte disk sectors, beginning with the Starting Disk Sector. If the specified value would extend beyond the end of the disk or file, it is silently ignored, and the default of 0 is used. For example, if Starting Disk Sector is 5 and Maximum Disk Size is 10, the selected worker(s) will use sectors 5-14 of the disk or \iobw.tst file.When preparing an unprepared logical drive (that is, the iobw.tst file does not exist), Iometer uses the sum of the values of the Maximum Disk Size + Starting Disk Sector controls as an upper bound on the size of iobw.tst. The iobw.tst file is created with this size (or available space, if smaller). If the file already exists (the drive has already been prepared), changing this control will not resize iobw.tst.

簡單的來說就是決定了待測硬碟裡面的 iobw.tst 檔案會多大,通常 block size 大小為 512 bytes 所以當我們的待測硬碟的 "Maximum Disk Size" 指定為 2048000 時,其 iobw.tst 就是 2048000x512bytes = 1G (其實不知道 Iometer 怎麼算的,真實的 iobw.tst 占約 8G 的空間) ,這邊還可以搭配 Starting Disk Sector 用來指定寫入 iobw.tst 的起始 sector.
不過跑出 4844MB 到底是為什麼呢!!!

我們用 #top 來觀察一下,其中的 buffered 從 29828k 提昇到 1025488k 了,可以很明顯的得知系統會跑出這麼高的值其實不實真正在跑硬碟的測試而是跑了系統記憶體的 buffered
Maximum_Disk_Size01
所以當我們所設定的 "Maximum Disk Size" 大小在 Buffer 的限制容量以內時,系統會以記憶體的 Buffer 來當成硬碟,所以跑出來的效能會超高也是這原因.

Note:在 Linux 底下記憶體的使用區分為 5 種 Application Memory, Buffered Memory, Cached Memory, Free Memory , Used Memory

  • Application Memory
    所有程式所佔用的記憶體數量.
  • Buffered Memory
    資料還來不及儲存到硬碟中暫儲在記憶體的資料.
  • Cached Memory
    資料已經由硬碟中讀取出來,提供給應用程式接下來使用,用以提高存取效能.
  • Free Memory
    尚未使用到的的記憶體.
  • Used Memory
    Application Memory + Buffered Memory + Cached Memory 就是目前所有有在使用的記憶體數量.

系統所擁有的總記憶體數就是 Free Memory + Used Memory(Application Memory + Buffered Memory + Cached Memory) 

我的系統有 24G 的記憶體,當我把 Maximum Disk Size 設定成為不同大小時,跑同一顆硬碟出來的值也不一樣.

排除 24G 以下,以避免跑到記憶體當做硬碟.
Maximum Disk Size (iobw.tst size) : MBs per Second
10240000 (40G) : 36.65 MBs
20480000 (80G) : 45.72 MBs
40960000 (160G): 31.43 MBs

看起來還是用預設值跑會比較好,也會比較逼近 Raw device 的效能.

完整的 Iometer 內容請參考 Iometer

9 個網友的想法 “Iometer – Maximum Disk Size

  1. 自動參照通知: Iometer – Mount file system, Raw device | Benjr.tw

  2. IOmeter問題
    有沒有辦法跳過ram的buffer直接測硬碟效能,因為我最主要是想測硬碟,如果測到記憶體不就不准

  3. 您好 最近有對SATA3與SATA2的效能做了些測試
    使用SAS 2.0 RAID卡接8*HDD RAID0
    出來的total MB其實沒有太大差異
    平均單顆都在140上下(企業用HDD 7200RPM)
    3G VS 6G雖然受限於HDD本身轉速影響,但是真的完全沒有差異嗎?
    有沒有辦法單測HDD內的cache? 這樣是否才能真正看出SATA2 SATA3的實力差異?

    • 3G VS 6G SATA
      Q:3G VS 6G雖然受限於HDD本身轉速影響,但是真的完全沒有差異嗎?
      雖然 SATA 的每一代都以倍數增加 Generation 1(1.5 Gbit/s) ,Generation 2(3 Gbit/s) , Generation 3(6 Gbit/s).,這邊所提昇的是資料傳輸頻寬. 但單顆硬碟的最大效能還取決在轉速,一般 SATA 硬碟轉速為 7200 rpm.並不會因為 SATA 1.0 , 2.0 ,3.0 而變快.除非使用 RAID 或是 SSD 的儲存裝置.

      Q:有沒有辦法單測HDD內的cache?
      可能需要其他工具.

      Q:這樣是否才能真正看出SATA2 SATA3的實力差異?
      使用 RAID 或是 SSD 的儲存裝置.

    • 一樣只測到 Windows 下的記憶體 buffered
      如果 Maximum Disk Size 太小時,一樣只測到 Windows 下的記憶體 buffered ,並不是實際跑硬碟的效能.

發表迴響