測試磁碟讀寫效能

2021-08-02 08:16:54 字數 2209 閱讀 8379

讀效能測試

#time dd  iflag=direct,nonblock  if=/dev/sda2 of=/dev/null bs=8k count=8388608

因為/dev/sda2是乙個物理分割槽,對它的讀取會產生io,/dev/null是偽裝置,相當於黑洞,of到該裝置不會產生io,所以,這個命令的io只發生在/dev/sdb1上,也相當於測試磁碟的讀能力。

寫測試# 

time dd oflag=direct,nonblock if=/dev/zero f=/opt/iotest bs=8k count=8388608 

因為/dev/zero是乙個偽裝置,它只產生空字元流,對它不會產生io,所以,io都會集中在of檔案中,of檔案只用於寫,所以這個命令相當於測試磁碟的寫能力。

讀寫測試

#time dd iflag=direct,nonblock oflag=direct,nonblock if=/dev/sda2 f=/opt/iotest bs=8k count=8388608  

注:bs是一次io讀的規模,理論上bs越大,所測得效能越高        count是讀多少個"bs",也可以寫成count=16g

規避掉檔案系統cache,直接讀寫,不使用buffer cache

iflag=direct,nonblock

​oflag=direct,nonblock

​iflag=cio

​oflag=cio

direct 模式就是把寫入請求直接封裝成io 指令發到磁碟

非direct 模式,就把資料寫入系統快取,然後就認為io 成功,並由作業系統決定快取中的資料什麼時候被寫入磁碟 

使用hdparm命令來檢視硬碟快取的讀速度。

我建議你執行下面的命令2-3次來對裝置讀效能進行檢測,以作為參照和相互比較:

### 有快取的硬碟讀效能測試——/dev/sda ###

​hdparm -t /dev/sda1

## 或者 ##

hdparm -t /dev/sda

## cache讀基準——/dev/sda ###

hdparm -t /dev/sda1

## 或者 ##

hdparm -t /dev/sda

hdparm -tt /dev/sda

為了獲得精確的讀測試資料,首先在測試前執行下列命令,來將快取設定為無效:

flush

echo 3 | sudo tee /proc/sys/vm/drop_caches

time time dd if=/path/to/bigfile of=/dev/null bs=8k

### 帶有cache的debian系統筆記本吞吐率###

dd if=/dev/zero of=/tmp/laptop.bin bs=1g count=1 oflag=direct

###使cache失效###

hdparm -w0 /dev/sda

###沒有cache的debian系統筆記本吞吐率###

dd if=/dev/zero of=/tmp/laptop.bin bs=1g count=1 oflag=direct 

## 執行這個命令2-3次來獲得更好地結果 ###

time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync"  

//寫[root@localhost ~]#

sync;/usr/bin/time -p bash -c "(dd if=/dev/zero of=test.dd bs=1m count=20000)"

記錄了20000+0 的讀入

記錄了20000+0 的寫出

20971520000位元組(21 gb)已複製,10.2713 秒,2.0 gb/秒

real 10.27

user 0.00

sys 10.26

//讀[root@localhost ~]# 

echo 3 > /proc/sys/vm/drop_caches ; /usr/bin/time -p dd if=test.dd of=/dev/null bs=1m

記錄了20000+0 的讀入

記錄了20000+0 的寫出

20971520000位元組(21 gb)已複製,23.9553 秒,875 mb/秒

real 23.98

user 0.00

sys 5.58

磁碟效能測試

有時候我們對乙個新的磁碟陣列進行簡單測試,但是又不知道用什麼的工具合適,其實linux unix本身已經提供了這樣的工具 dd 1.測試磁碟寫能力 time dd if dev zero of opt test.db bs 1m count 3000 3000 0 records in 3000 0...

linux磁碟讀寫測試

time dd 測磁碟讀寫速度 1 先熟悉兩個特殊的裝置及一些相關引數 1 time有計時作用,dd用於複製,從if讀出,寫到of 2 if dev zero 產生字元 不產生io,因此可以用來測試純寫速度 3 同理of dev null 站 無底洞 不產生io,可以用來測試純讀速度 4 將 tmp...

linux磁碟效能測試

120 test apt get install hdparm 真實機器120上測試結果 測試磁碟效能 不cache 120 test home lai hdparm t dev sda dev sda timing buffered disk reads 346 mb in 3.02 second...