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

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

a.有關於測讀的

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

wKiom1c8MRXCoBinAAAxahz6WMQ456.png

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


b.再來測測寫吧

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

wKioL1c8M_Ww3bP-AAAu_Rg9Qq8036.png

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

c.再來一張吧

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

wKioL1c8NX-DFTL3AAAw_yEymiE227.png

同是一臺機器,爲什麼相差這麼大呢??

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

命令詳解:
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,可以得到,紅色部分)上圖

wKioL1c8N4egXafjAAAs2-HObVM633.png

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




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章