Linux 磁盤IO速度測試


轉自https://www.cnblogs.com/hjqjk/p/5773099.html

 

運維工作,經常要測試服務器硬件性能,以此來判斷是否存在性能瓶頸。

 

下面介紹在linux上測試磁盤IO速度的工具: 

1、hdparm

CentOS中,安裝的兩種方法:

1) yum安裝。

# yum install hdparm

2)源碼包編譯安裝

# wget http://ncu.dl.sourceforge.net/project/hdparm/hdparm/hdparm-9.48.tar.gz
# tar zxvf hdparm-9.48.tar.gz
# cd hdparm-9.48
# make && make install 

 

hdparm僅用於Linux系統。現在主要用來測試SSD固態硬盤讀取速度。

# hdparm -Tt /dev/sdb

/dev/sdb:
Timing cached reads: 17682 MB in 2.00 seconds = 8855.82 MB/sec
Timing buffered disk reads: 604 MB in 3.01 seconds = 200.98 MB/sec

解釋:

2秒鍾讀取了17682 MB的緩存,讀取速度約合8855.82 MB/sec;
在3.01秒中讀取了604 MB磁盤數據(物理讀),讀取速度約合200.98 MB/sec

 

/dev/sdb為SSD固態硬盤。

在我的服務器上,是這樣安裝的:拆掉光驅位,通過[SATA 22P母 轉 SLIMLINE SATA 13P公]轉接頭連接光驅位的線路,直接連接主板,而不走陣列卡。因為通過陣列卡連接SSD固態硬盤,會影響SSD的性能。

而受限於SATA2接口的讀取速度,如果SSD的讀取速度在 200MB/sec 以上,則是正常的,說明SSD已經正常工作了。

固態硬盤,在SATA 2.0接口上平均讀取速度在225MB/S,平均寫入速度在71MB/S。在SATA 3.0接口上,平均讀取速度驟然提升至311MB/S。
在隨機文件存取測試中,采用SATA 3.0接口的成績依然要好於采用SATA 2.0接口的成績。尤其在寫入4KB文件方面,SATA 2.0接口平均速度在50MB/S,而采用SATA 3.0后提升至70MB/S。

 


2、dd 

dd 命令並不是一個專業的測試磁盤工具,它沒考慮到緩存和物理讀的區分,測試的結果僅作參考,不算權威。但是它通用於所有的Linux系統中。

兩個特殊設備:(不產生IO,就能單獨測試寫速度和讀速度)
/dev/null 偽設備,回收站.寫該文件不會產生IO
/dev/zero 偽設備,會產生空字符流,對它不會產生IO

 

(1)測試磁盤純寫速度

# time dd if=/dev/zero of=/data/test.dbf bs=8k count=300000 oflag=direct
# 加上 oflag=direct,測到的才是真實的磁盤IO速度

解釋:從/dev/zero設備中讀入數據,寫出到/data/test.dbf文件中。bs=8k,每次寫的大小,即一個塊的大小。count=300000,一共寫30000塊。

(2)測試磁盤純讀速度

# time dd if=/data/test.dbf of=/dev/null bs=8k count=300000

解釋:從/data/test.dbf文件中讀入數據,寫出到/dev/null 設備中。bs=8k,每次讀的大小,即一個塊的大小。count=300000,一共讀30000塊。

(3)測試磁盤讀寫速度

# time dd if=/data/test_r.dbf of=/data/test_w.dbf bs=8k count=300000

 

備注:要想測試准確,測試的數據量最好大於系統內存(避免內存干擾),最好測試5次以上取平均值。


3、sysbench

 https://www.ustack.com/blog/how-benchmark-ebs/#Linux


4、fio

 http://blog.chinaunix.net/uid-8116903-id-3914246.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM