相容posix 介面的文件系統中我們不僅要測試 posix 介面是否相容。隨機讀,隨機寫,順序讀,順序寫等讀寫模式下的性能。我們還要測試在不同工作負載條件下的文件系統的性能的情況;Filebench 是一款文件系統性能的自動化測試工具,它通過快速模擬真實應用伺服器的負載來測試文件系統的性能。它不僅可 ...
相容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/
官網介紹:
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 configure
, make
, 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 -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.
其他參考文檔:
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