現有的測試工具分為三類: 合成測試程式根據統計的真實負載發生規律,如請求的讀寫比例,大小,頻率和分佈等信息。建立響應的io存取模型。在測試時產生符合存取模型的io請求序列。發送給存儲系統。這類程式包括 IOMeter,IOZone 和 Bonnie++。 使用基準測試集測試電腦系統的性能,一直是有 ...
現有的測試工具分為三類:
- 合成IO測試
- 基準測試集
- 基於Trace的測試
合成測試程式根據統計的真實負載發生規律,如請求的讀寫比例,大小,頻率和分佈等信息。建立響應的io存取模型。在測試時產生符合存取模型的io請求序列。發送給存儲系統。這類程式包括 IOMeter,IOZone 和 Bonnie++。
使用基準測試集測試電腦系統的性能,一直是有效和精確的評價方法。針對存儲系統的測試研究也大量使用基準測試集。
存儲性能委員會SPC,為存儲系統開發了基準測試集。SPC-1 SPC-2; 標準性能評價組織SPEC 標準集成立於1988,目標是建立標準和實際的性能測試集。其中 SFS是測量NFSv2和NFSv3伺服器的性能,包括吞吐率和響應時間。它在客戶端上運行實現定義的負載腳本產生各種實際的文件和目錄操作。https://www.spec.org/sfs2014/
Trace測試。Trace 測試是搜集真實系統中所有的IO請求信息,並按照一定格式記錄在Trace文件中,一般包括請求時間,請求類型和請求大小等。測試時,程式按照Trace文件中的記錄想存儲系統中發出IO請求。但是記錄Trace信息會增加IO開銷。
對於一個測試工具來說,需要滿足一下幾個基本要求:
一是對不同系統進行測試所得到的結果具有可比較性。
二是可移植性好,能夠適應或者非常方便的移植到不同的機器上;
三是測試結果準確客觀。
影響測試軟體網路帶寬測試結果的關鍵因素有:讀寫操作比例,測試數據總大小,測試過程中每次操作的數據大小,順序或者隨機訪問模式,多個測試進程同時訪問一個文件還是訪問各自獨立的文件,或稱之為共用或者併發訪問模式。
參考文件:分散式文件系統性能測試軟體的設計 2012 第1期
常用的文件系統測試工具:
1. pjd-fstest (posix 介面相容性測試)
參考網站:https://www.tuxera.com/community/posix-test-suite/
fstest是一套簡化版的文件系統POSIX相容性測試套件,它可以工作在FreeBSD, Solaris, Linux上用於測試UFS, ZFS, ext3, XFS and the NTFS-3G等文件系統。fstest目前有3601個回歸測試用例,測試的系統調用覆蓋chmod, chown, link, mkdir, mkfifo, open, rename, rmdir, symlink, truncate, unlink。
使用教程:
https://www.cnblogs.com/xuyaowen/p/pjd-fstest.html
2. IOZone (讀寫模式測試)
磁碟設備之上是文件系統,測試磁碟的工具往往就是調用塊設備驅動的介面進行讀寫測試。而文件系統的測試軟體就是針對文件系統層提供的功能進行測試,包括文件的打開關閉速度以及順序讀寫隨機位置讀寫的速度。以及進程併發數目等各個方面進行詳細的測試。
IOZone是目前應用非常廣泛的文件系統測試標準工具,它能夠產生並測量各種的操作性能,包括read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write等操作。Iozone目前已經被移植到各種體繫結構電腦和操作系統上,廣泛用於文件系統性能測試、分析與評估的標準工具。
IOZone和IOMeter不同,IOMeter的測試是基於數據塊的,而IOZome的測試是基於文件的,因此更適合用來測試文件系統的性能。使用IOZone 可以在多線程,多CPU,並指定CPU Cache 空間大小以及同步或者非同步IO讀寫模式的情況下進行文件操作的性能測試。
使用教程:
https://www.cnblogs.com/xuyaowen/p/iozone.html
3. FIO (磁碟IO測試-順序IO和隨機IO)
參考網站:http://freshmeat.sourceforge.net/projects/fio
fio是一個I/O標準測試和硬體壓力驗證工具,它支持13種不同類型的I/O引擎(sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio等),I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs等等。fio可以支持塊設備和文件系統測試,廣泛用於標準測試、QA、驗證測試等,支持Linux, FreeBSD, NetBSD, OS X, OpenSolaris, AIX, HP-UX, Windows等操作系統。
使用教程:
https://www.cnblogs.com/xuyaowen/p/fio-usage.html
4. Filebench (文件系統應用負載生成測試)
參考網站:https://sourceforge.net/projects/filebench/
Filebench 是一款文件系統性能的自動化測試工具,它通過快速模擬真實應用伺服器的負載來測試文件系統的性能。它不僅可以模擬文件系統微操作(如 copyfiles, createfiles, randomread, randomwrite ),而且可以模擬複雜的應用程式(如 varmail, fileserver, oltp, dss, webserver, webproxy )。 Filebench 比較適合用來測試文件伺服器性能,但同時也是一款負載自動生成工具,也可用於文件系統的性能。
使用教程:
https://www.cnblogs.com/xuyaowen/p/filebench.html
https://www.usenix.org/legacy/event/lsf08/tech/FS_shepler.pdf
http://www.nfsv4bat.org/Documents/nasconf/2005/mcdougall.pdf
5. Mdtest (元數據性能測試)
Mdtest 是一個測試文件系統元數據性能的工具。
使用教程:
https://www.cnblogs.com/xuyaowen/p/ior-and-mdtest.html
6. IOR (結合mpi,利用並行IO來測試文件系統的IO性能和元數據性能)
IOR使用MPI進行進程同步(也可以使用srun或其他工具) - 通常在HPC(High Performance Computing)集群中的多個節點上並行運行IOR進程,在安裝目標文件系統的每個客戶機節點上運行一個IOR進程。
使用教程:
https://www.cnblogs.com/xuyaowen/p/ior-and-mdtest.html
7. dd測試工具 (磁碟IO測試-針對於順序IO)
使用 dd 來測試硬碟讀寫速度,dd 只能提供一個大概的測試結果,而且是連續IO不是隨機IO,理論上文件規模越大,測試結果就越精準。
使用場景,適用在單節點進行測試。
使用教程:
https://www.cnblogs.com/xuyaowen/p/dd.html
8. Iperf (網路測試,測試分散式存儲系統中網路的實際帶寬,主要是對tcp/udp協議的測試)
Iperf 是一個網路性能測試工具。IPerf可以測試最大的TCP和UDP帶寬性能。Iperf具有多種參數和特性,可以根據需要調整。IPerf可以報告帶寬。延遲抖動和數據包丟失。iperf3是一個網路速度測試工具,支持IPv4與IPv6,支持TCP、UDP、SCTP傳輸協議,可在Windows、Mac OS X、Linux、FreeBSD等各種平臺使用,是一個簡單又實用的小工具。 本文介紹安裝、使用iperf3 網速測試工具。
使用教程:
https://www.cnblogs.com/xuyaowen/p/iperf-for-network.html
保持更新,轉載請註明出處:cnblogs.com/xuyaowen; 如果對您有幫助,請點擊推薦吧~