filebench - File system and storage benchmark - 模擬生成各種各樣的應用的負載 - A Model Based File System Workload Generator


      兼容posix 接口的文件系統中我們不僅要測試 posix 接口是否兼容。隨機讀,隨機寫,順序讀,順序寫等讀寫模式下的性能。我們還要測試在不同工作負載條件下的文件系統的性能的情況;Filebench 是一款文件系統性能的自動化測試工具,它通過快速模擬真實應用服務器的負載來測試文件系統的性能。它不僅可以仿真文件系統微操作(如 copyfiles, createfiles, randomread, randomwrite ),而且可以仿真復雜的應用程序(如 varmail, fileserver, oltp, dss, webserver, webproxy )。 Filebench 比較適合用來測試文件服務器性能,但同時也是一款負載自動生成工具,也可用於文件系統的性能。所以filebench 是非常好用文件系統負載生成工具;

官方網站:

https://github.com/filebench/filebench 

https://github.com/filebench/filebench/wiki 

https://sourceforge.net/projects/filebench/ 

https://github.com/filebench/filebench/releases/download/1.5-alpha3/filebench-1.5-alpha3.zip  

官網介紹:

Filebench is a file system and storage benchmark that can generate a large
variety of workloads. Unlike typical benchmarks it is extremely flexible and
allows to specify application's I/O behavior using its extensive Workload Model
Language (WML). Users can either describe desired workloads from scratch or use
(with or without modifications) workload personalities shipped with Filebench
(e.g., mail-, web-, file-, and database-server workloads). Filebench is equally
good for micro- and macro-benchmarking, quick to setup, and relatively easy to
use.

安裝:

Make sure bison and lex are available in your system. Then, run traditional configuremake, and sudo make install commands.

fedora 上 使用 yum 工具,即可以安裝穩定版; 

安裝最新版需要下載 flex 和 bison 等依賴;

yum install flex bison

$cd /usr/local/filebench-1.5-alpha3 (源文件所在的路徑)
$./configure
$make
$sudo make install (注意:一定要安裝 filebench 需要在/usr/local/share/filebench 下生成一些文件)

使用:

filebench 需要根據 WML 負載模型語言來進行描述負載,然后來進行執行。所以我們可以使用已經預定好的負載,也可以自己定義自己的負載模型,然后運行。具體如何進行定義負載大家可以參考如下鏈接:https://github.com/filebench/filebench/wiki/Workload-model-language ,也可以參考wiki 進行整理了解 filebench工具的使用;filebench在wml文件中指定測試的位置,我們可一個在.f文件中指定所要測試文件系統的掛載點;

命令:filebench -f /usr/local/share/filebench/workloads/fileserver.f 

測試結果:

當然,我們不建議直接使用 原有的文件進行測試。我們可以在原有的wml文件基礎上根據我們自己的使用場景來定義負載。

We do *not* recommend to directly use workload files from workloads/ or
/usr/local/share/filebench/workloads/ directories. The main reason is that these
workloads *are not properly sized* (e.g., in terms of the dataset sizes) to a
particular system. For instance, the initial dataset size of the webserver
workload is only slightly larger than 16MiB, which is typically not the size you
want to test the system containing multiple gigabytes of RAM with.

FileBench 架構:

 

其他參考文檔:

https://www.usenix.org/legacy/event/lsf08/tech/FS_shepler.pdf

https://www.usenix.org/legacy/event/lsf08/tech/FS_shepler.pdf

https://blog.csdn.net/microsoft2014/article/details/60145433 

https://www.jianshu.com/p/4fcd6b8a4236 

保持更新,更多關於文件系統相關的知識,請關注 cnblogs.com/xuyaowen


免責聲明!

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



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