現(xiàn)有的測試工具分為三類:
- 合成IO測試
- 基準測試集
- 基于Trace的測試
合成測試程序根據(jù)統(tǒng)計的真實負載發(fā)生規(guī)律,如請求的讀寫比例谬泌,大小蒋得,頻率和分布等信息由境。建立響應(yīng)的io存取模型宁舰。在測試時產(chǎn)生符合存取模型的io請求序列拼卵。發(fā)送給存儲系統(tǒng)。這類程序包括 IOMeter,IOZone 和 Bonnie++蛮艰。
使用基準測試集測試計算機系統(tǒng)的性能腋腮,一直是有效和精確的評價方法。針對存儲系統(tǒng)的測試研究也大量使用基準測試集壤蚜。
存儲性能委員會SPC,為存儲系統(tǒng)開發(fā)了基準測試集即寡。SPC-1 SPC-2; 標準性能評價組織SPEC 標準集成立于1988,目標是建立標準和實際的性能測試集袜刷。其中 SFS是測量NFSv2和NFSv3服務(wù)器的性能聪富,包括吞吐率和響應(yīng)時間。它在客戶端上運行實現(xiàn)定義的負載腳本產(chǎn)生各種實際的文件和目錄操作水泉。https://www.spec.org/sfs2014/
Trace測試善涨。Trace 測試是搜集真實系統(tǒng)中所有的IO請求信息,并按照一定格式記錄在Trace文件中草则,一般包括請求時間钢拧,請求類型和請求大小等。測試時炕横,程序按照Trace文件中的記錄想存儲系統(tǒng)中發(fā)出IO請求源内。但是記錄Trace信息會增加IO開銷。
對于一個測試工具來說份殿,需要滿足一下幾個基本要求:
一是對不同系統(tǒng)進行測試所得到的結(jié)果具有可比較性膜钓。
二是可移植性好,能夠適應(yīng)或者非常方便的移植到不同的機器上卿嘲;
三是測試結(jié)果準確客觀颂斜。
影響測試軟件網(wǎng)絡(luò)帶寬測試結(jié)果的關(guān)鍵因素有:讀寫操作比例,測試數(shù)據(jù)總大小拾枣,測試過程中每次操作的數(shù)據(jù)大小,順序或者隨機訪問模式沃疮,多個測試進程同時訪問一個文件還是訪問各自獨立的文件,或稱之為共享或者并發(fā)訪問模式梅肤。
參考文件:分布式文件系統(tǒng)性能測試軟件的設(shè)計 2012 第1期
常用的文件系統(tǒng)測試工具:
1. pjd-fstest (posix 接口兼容性測試)
參考網(wǎng)站:https://www.tuxera.com/community/posix-test-suite/
fstest是一套簡化版的文件系統(tǒng)POSIX兼容性測試套件司蔬,它可以工作在FreeBSD, Solaris, Linux上用于測試UFS, ZFS, ext3, XFS and the NTFS-3G等文件系統(tǒng)。fstest目前有3601個回歸測試用例姨蝴,測試的系統(tǒng)調(diào)用覆蓋chmod, chown, link, mkdir, mkfifo, open, rename, rmdir, symlink, truncate, unlink俊啼。
使用教程:
https://www.cnblogs.com/xuyaowen/p/pjd-fstest.html
2. IOZone (讀寫模式測試)
磁盤設(shè)備之上是文件系統(tǒng),測試磁盤的工具往往就是調(diào)用塊設(shè)備驅(qū)動的接口進行讀寫測試左医。而文件系統(tǒng)的測試軟件就是針對文件系統(tǒng)層提供的功能進行測試授帕,包括文件的打開關(guān)閉速度以及順序讀寫隨機位置讀寫的速度同木。以及進程并發(fā)數(shù)目等各個方面進行詳細的測試。
IOZone是目前應(yīng)用非常廣泛的文件系統(tǒng)測試標準工具豪墅,它能夠產(chǎn)生并測量各種的操作性能泉手,包括read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write等操作。Iozone目前已經(jīng)被移植到各種體系結(jié)構(gòu)計算機和操作系統(tǒng)上偶器,廣泛用于文件系統(tǒng)性能測試斩萌、分析與評估的標準工具。
IOZone和IOMeter不同屏轰,IOMeter的測試是基于數(shù)據(jù)塊的颊郎,而IOZome的測試是基于文件的,因此更適合用來測試文件系統(tǒng)的性能霎苗。使用IOZone 可以在多線程姆吭,多CPU,并指定CPU Cache 空間大小以及同步或者異步IO讀寫模式的情況下進行文件操作的性能測試唁盏。
使用教程:
https://www.cnblogs.com/xuyaowen/p/iozone.html
3. FIO (磁盤IO測試-順序IO和隨機IO)
參考網(wǎng)站: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可以支持塊設(shè)備和文件系統(tǒng)測試昆淡,廣泛用于標準測試、QA刽严、驗證測試等昂灵,支持Linux, FreeBSD, NetBSD, OS X, OpenSolaris, AIX, HP-UX, Windows等操作系統(tǒng)。
使用教程:
https://www.cnblogs.com/xuyaowen/p/fio-usage.html
4. Filebench (文件系統(tǒng)應(yīng)用負載生成測試)
參考網(wǎng)站:https://sourceforge.net/projects/filebench/
Filebench 是一款文件系統(tǒng)性能的自動化測試工具舞萄,它通過快速模擬真實應(yīng)用服務(wù)器的負載來測試文件系統(tǒng)的性能眨补。它不僅可以仿真文件系統(tǒng)微操作(如 copyfiles, createfiles, randomread, randomwrite ),而且可以仿真復(fù)雜的應(yīng)用程序(如 varmail, fileserver, oltp, dss, webserver, webproxy )倒脓。 Filebench 比較適合用來測試文件服務(wù)器性能撑螺,但同時也是一款負載自動生成工具,也可用于文件系統(tǒng)的性能崎弃。
使用教程:
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 (元數(shù)據(jù)性能測試)
Mdtest 是一個測試文件系統(tǒng)元數(shù)據(jù)性能的工具甘晤。
使用教程:
https://www.cnblogs.com/xuyaowen/p/ior-and-mdtest.html
6. IOR (結(jié)合mpi,利用并行IO來測試文件系統(tǒng)的IO性能和元數(shù)據(jù)性能)
IOR使用MPI進行進程同步(也可以使用srun或其他工具) - 通常在HPC(High Performance Computing)集群中的多個節(jié)點上并行運行IOR進程,在安裝目標文件系統(tǒng)的每個客戶機節(jié)點上運行一個IOR進程吊履。
使用教程:
https://www.cnblogs.com/xuyaowen/p/ior-and-mdtest.html
7. dd測試工具 (磁盤IO測試-針對于順序IO)
使用 dd 來測試硬盤讀寫速度,dd 只能提供一個大概的測試結(jié)果调鬓,而且是連續(xù)IO不是隨機IO艇炎,理論上文件規(guī)模越大,測試結(jié)果就越精準腾窝。
使用場景缀踪,適用在單節(jié)點進行測試居砖。
使用教程:
https://www.cnblogs.com/xuyaowen/p/dd.html
8. Iperf (網(wǎng)絡(luò)測試,測試分布式存儲系統(tǒng)中網(wǎng)絡(luò)的實際帶寬驴娃,主要是對tcp/udp協(xié)議的測試)
Iperf 是一個網(wǎng)絡(luò)性能測試工具奏候。IPerf可以測試最大的TCP和UDP帶寬性能。Iperf具有多種參數(shù)和特性唇敞,可以根據(jù)需要調(diào)整蔗草。IPerf可以報告帶寬。延遲抖動和數(shù)據(jù)包丟失疆柔。iperf3是一個網(wǎng)絡(luò)速度測試工具咒精,支持IPv4與IPv6,支持TCP旷档、UDP模叙、SCTP傳輸協(xié)議,可在Windows鞋屈、Mac OS X范咨、Linux、FreeBSD等各種平臺使用厂庇,是一個簡單又實用的小工具渠啊。 本文介紹安裝、使用iperf3 網(wǎng)速測試工具宋列。
使用教程:
https://www.cnblogs.com/xuyaowen/p/iperf-for-network.html
9. netperf (首先使用指定端口交換控制信息昭抒,再開另外的端口進行對tcp的stream,rr,crr和udp的stream,rr等應(yīng)用模式進行測試)
netperf是惠普公司開源的一款針對網(wǎng)絡(luò)性能的測試****工具,主要基于TCP或UDP的傳輸炼杖。根據(jù)應(yīng)用的不同灭返,可以進行批量數(shù)據(jù)傳輸(bulk data transfer)模式和請求/應(yīng)答(request/reponse)模式的性能****測試。
netperf以Client/Server方式工作坤邪。Server端是netserver熙含,用來偵聽來自client端的連接,Client端是netperf艇纺,用來向Server發(fā)起網(wǎng)絡(luò)測試怎静。在Client與Server之間,首先建立一個控制連接黔衡,傳遞有關(guān)測試配置的信息蚓聘,以及測試的結(jié)果;在控制連接建立并傳遞了測試配置信息以后盟劫,Client與Server之間會再建立一個測試連接夜牡,來回傳遞特殊的流量模式,用來測試網(wǎng)絡(luò)的性能侣签。
netperf測試結(jié)果反映了一個系統(tǒng)能夠以多快的速度向另外一個系統(tǒng)發(fā)送數(shù)據(jù)塘装,以及另外一個系統(tǒng)能夠以多塊的速度接收數(shù)據(jù)急迂。
使用教程:
https://www.cnblogs.com/xuyaowen/p/netperf.html
保持更新,轉(zhuǎn)載請注明出處:cnblogs.com/xuyaowen; 如果對您有幫助蹦肴,請點擊推薦吧~