2013年10月12日 星期六

IOZone 效能測試

由於電腦 DRAM 容量越來越大動輒 4GB、8GB,我們可以好好利用高容量的記憶體來加速需要大量讀寫操作的工作。

透過 mount 指令我們可以配置特定大小的記憶體為暫時行的檔案系統,然後掛載到某一目錄底下,接著就可以將我們要處理的程式或資料搬到該目錄裡,即可享受到 RAM Disk 的極佳效能體驗。以下示範掛載 1GB RAM Disk 至 ~/RAMDISK 目錄:
sudo mount -t tmpfs -o size=1GB none ~/RAMDISK/
接著就請出 IOZone 來檢測 ram disk 的效能究竟有多強大,在 i5-3317U CPU 搭配 8GB 1600 DDR3 記憶體進行測試,當然測試前必須先安裝 iozone,另外為了方便顯示結果一併安裝 gnuplot 以及 gnuplot-x11 。
sudo apt-get install iozone3 gnuplot gnuplot-x11
安裝好 iozone 之後立馬進行測試,iozone 測試相當容易只要下指令 iozone -az 即可跑出測試結果,當然我們可以把結果給紀錄到檔案中。
# 切換到將要進行測試的目錄 
cd ~/RAMDISK 
# 執行 iozone 並將結果存到 IOZone.log 檔案中g3m/4
iozone -a | tee IOZone.log
接著可以在 /usr/share/doc/iozone3/examples 目錄裡找到一些顯示結果的工具,將需要的檔案 copy 出來:
cp /usr/share/doc/iozone3/examples/Generate_Graphs  ./
cp /usr/share/doc/iozone3/examples/gengnuplot.sh ./
cp /usr/share/doc/iozone3/examples/gnu3d.dem.gz  ./
# 解壓縮 gnu3d.dem.gz 
gzip -d gzip -d gnu3d.dem.gz
執行 Generate_Graphs 將結果以圖形呈現:
chmod +x Generate_Graphs
./Generate_Graphs IOZone.log
圖形是以 gnuplot 繪製可以透過滑鼠拖拉轉換不同的視角觀看,可以從結果看出無論讀寫都有達到 GB 等級的表現,檔案寫入達到 2GB/s 以上檔案讀取更超出 4GB/s 以上的結果,算是相當優異,最後提醒一下結果跑完記得存回硬碟裡否則 ramdisk 的資料可是一關機就消失囉。