文件系統(tǒng)測試工具整理

現(xiàn)有的測試工具分為三類:

  1. 合成IO測試
  2. 基準(zhǔn)測試集
  3. 基于Trace的測試

合成測試程序根據(jù)統(tǒng)計的真實負載發(fā)生規(guī)律,如請求的讀寫比例,大小,頻率和分布等信息。建立響應(yīng)的io存取模型。在測試時產(chǎn)生符合存取模型的io請求序列。發(fā)送給存儲系統(tǒng)。這類程序包括 IOMeter,IOZone 和 Bonnie++。

使用基準(zhǔn)測試集測試計算機系統(tǒng)的性能,一直是有效和精確的評價方法。針對存儲系統(tǒng)的測試研究也大量使用基準(zhǔn)測試集。

存儲性能委員會SPC,為存儲系統(tǒng)開發(fā)了基準(zhǔn)測試集。SPC-1 SPC-2; 標(biāo)準(zhǔn)性能評價組織SPEC 標(biāo)準(zhǔn)集成立于1988,目標(biāo)是建立標(biāo)準(zhǔn)和實際的性能測試集。其中 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é)果準(zhǔn)確客觀。

影響測試軟件網(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 (讀寫模式測試)

參考鏈接:http://www.iozone.org/

磁盤設(shè)備之上是文件系統(tǒng),測試磁盤的工具往往就是調(diào)用塊設(shè)備驅(qū)動的接口進行讀寫測試。而文件系統(tǒng)的測試軟件就是針對文件系統(tǒng)層提供的功能進行測試,包括文件的打開關(guān)閉速度以及順序讀寫隨機位置讀寫的速度。以及進程并發(fā)數(shù)目等各個方面進行詳細的測試。

IOZone是目前應(yīng)用非常廣泛的文件系統(tǒng)測試標(biāo)準(zhǔn)工具,它能夠產(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)性能測試、分析與評估的標(biāo)準(zhǔn)工具。

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標(biāo)準(zhǔn)測試和硬件壓力驗證工具,它支持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)測試,廣泛用于標(biāo)準(zhǔn)測試、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進程,在安裝目標(biāo)文件系統(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é)果就越精準(zhǔn)。

使用場景,適用在單節(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; 如果對您有幫助,請點擊推薦吧~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1-------- 走進前端 2-------- jQuery 3-------- CSS 4-------- A...
    依依玖玥閱讀 2,430評論 0 34
  • 馬上年底了,各種云評測陸續(xù)放了出來,最近看到有一些評測也引起了爭議,第三方評測數(shù)據(jù)可以作為參考,真正要使用云,將業(yè)...
    力哥聊閱讀 590評論 0 0
  • 一、Speedtest測試外網(wǎng)網(wǎng)速 Speedtest是用來測試網(wǎng)絡(luò)性能的開源軟件,在Linux下面安裝Speed...
    木夕月_fc7b閱讀 2,335評論 0 0
  • 今天跟公司新來的小美女西西在休息時間討論了未來男朋友的樣子。兩個人各自拿一張白紙,寫下心儀對象需要滿足的條件,寫完...
    藍小撞閱讀 1,088評論 2 0
  • 我把星期天暫定為家庭清理日,開始實施我的離舍斷計劃。 大凡居家過日子,都難免會有一些經(jīng)年不用卻又棄之可惜的物件。尤...
    宜瑋L閱讀 558評論 0 4

友情鏈接更多精彩內(nèi)容