文件系統測試工具整理

来源:https://www.cnblogs.com/xuyaowen/archive/2019/08/10/filesystem-test-suites.html
-Advertisement-
Play Games

現有的測試工具分為三類: 合成測試程式根據統計的真實負載發生規律,如請求的讀寫比例,大小,頻率和分佈等信息。建立響應的io存取模型。在測試時產生符合存取模型的io請求序列。發送給存儲系統。這類程式包括 IOMeter,IOZone 和 Bonnie++。 使用基準測試集測試電腦系統的性能,一直是有 ...


現有的測試工具分為三類:

  1. 合成IO測試
  2. 基準測試集
  3. 基於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 (讀寫模式測試

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

磁碟設備之上是文件系統,測試磁碟的工具往往就是調用塊設備驅動的介面進行讀寫測試。而文件系統的測試軟體就是針對文件系統層提供的功能進行測試,包括文件的打開關閉速度以及順序讀寫隨機位置讀寫的速度。以及進程併發數目等各個方面進行詳細的測試。

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; 如果對您有幫助,請點擊推薦吧~ 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 如何判斷當前修改過的datatable的某一列值是否為int型或double類型 今天在做datatable數據驗證時碰到要對datatable的列數據進行數據類型校驗,因此記錄一下本人校驗的方法,如果還有更簡單的校驗方式,歡迎大家踴躍分享,不勝感激。 c / 取得改變過的datatable,註意不 ...
  • 主要內容有以下部分(URL待補充):CLR 和Windows Loader載入.NET Assembly的過程CLR載入失敗分析分析Windows記憶體架構模型,分配記憶體及垃圾回收其他帶補充的。。。原書封面如下: ...
  • 一.概述 在asp.net core 中可以用WebSocket 或asp.net core SignalR來開發即時通迅。在項目中由於開發前後端分離,對於SignalR前端技術人員不想依賴juqery和SignalR.js包,後端確定使用WebSocket 來實現。對於asp.net core有自 ...
  • Serilog 自定義 Enricher 來增加記錄的信息 Intro Serilog 是 .net 裡面非常不錯的記錄日誌的庫,結構化日誌記錄,而且配置起來很方便,自定義擴展也很方便 Serilog is a diagnostic logging library for .NET applicat ...
  • 通過使用/etc/passwd 文件,getent命令,compgen命令這三種方法查看系統中用戶的信息。 Linux 系統中用戶信息存放在/etc/passwd文件中。 這是一個包含每個用戶基本信息的文本文件。當我們在系統中創建一個用戶,新用戶的詳細信息就會被添加到這個文件中。 /etc/pass ...
  • 在linux上編輯文件的時候,明明是使用的root登錄的,可是這種至高無上的許可權在按下i的時候被那串紅色錯誤褻瀆了W10: Warning: Changing a readonly file。 困擾兩天後,終於靈光一閃,奇跡的解決了這個問題,那就是: 修改完成後使用:wq! 強制保存退出!!!! ...
  • 一、格式化 第一種寫法 mkfs.文件系統 [分區名稱(設備文件路徑)] 例如:對sdb硬碟的第一個分區以ext3文件系統進行格式化 第二種寫法 mkfs -t 文件系統 [分區名稱(設備文件路徑)] 註意:(1)擴展分區不可以格式化,只有主分區和邏輯分區可以格式化 (2)GPT分區不可以通過fdi ...
  • 最近突然忘記了 滑動視窗的原理,在網上找到了比較好的視頻,現在在這裡同大家分享: 註:反正進程間切換 視頻鏈接: https://www.youtube.com/watch?v=R6ArbkVj-N8 資源來源自網路,如果對您有幫助請點擊推薦,如果有其他的任何問題,歡迎大家留言!cnblogs.co ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...