在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,可以得到,紅色部分)上圖
好了,就寫到這兒了吧!!