在Linux下想要知道磁盤的讀寫速度,對資料庫能承受多大壓力也有很有幫助的。方法呢有很多。但我今天要說的是關于DD的。
a.有關于測讀的
time dd if=/dev/zero of=/var/test bs=2M count=3000

哇,這麼快的速度,真不敢相信自己的眼睛。要是你不知道伺服器的配置,還以為就真有這麼快呢!!
b.再來測測寫吧
time dd if=/var/test of=/dev/null bs=2M
是不是不相信自己的眼睛。
c.再來一張吧
time dd if=/dev/vda3 of=/var/2017 bs=2M count=300
同是一台機器,為什麼相差這麼大呢??
我們來看一下每個參數是什麼意思吧。
指令詳解:
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,可以得到,紅色部分)上圖
好了,就寫到這兒了吧!!