天天看點

關于Linux下DD測試磁盤的坑!!

在Linux下想要知道磁盤的讀寫速度,對資料庫能承受多大壓力也有很有幫助的。方法呢有很多。但我今天要說的是關于DD的。

a.有關于測讀的

time dd if=/dev/zero of=/var/test bs=2M count=3000

關于Linux下DD測試磁盤的坑!!

哇,這麼快的速度,真不敢相信自己的眼睛。要是你不知道伺服器的配置,還以為就真有這麼快呢!!

b.再來測測寫吧

time dd if=/var/test of=/dev/null bs=2M

關于Linux下DD測試磁盤的坑!!

是不是不相信自己的眼睛。

c.再來一張吧

time dd if=/dev/vda3 of=/var/2017 bs=2M count=300

關于Linux下DD測試磁盤的坑!!

同是一台機器,為什麼相差這麼大呢??

我們來看一下每個參數是什麼意思吧。

指令詳解:

time               用于計時(real實際耗時,user使用者态耗時,sys系統态耗時)

dd                  用于複制,從if讀出(input file),寫到of(output file)。

if=/dev/zero  不産生IO,是以可以用來測試純寫速度; 同理of=/dev/null不産生IO,可以用來測試純讀速度。

bs                  是每次讀或寫的大小,即一個塊的大小;

count               是讀寫塊的數量,相乘就是讀寫資料量大小,資料量(count)越大越準确,多次測試取平均值。

看清楚了這三條指令的差別了嗎?

if=/dev/**,是的最關鍵的是dev/後面根的參數,不要用zero,參數也解釋了,這樣是不産生I/O的。測出來的資料不準确。是以産生的結果相差這麼大。

注:一定要根真實裝置号(輸入指令df -Th,可以得到,紅色部分)上圖

關于Linux下DD測試磁盤的坑!!

好了,就寫到這兒了吧!!

繼續閱讀