简介
Filebench 是一款文件系统性能的自动化测试工具,它通过快速模拟真实应用服务器的负载来测试文件系统的性能。它不仅可以仿真文件系统微操作(如 copyfiles, createfiles, randomread, randomwrite ),而且可以仿真复杂的应用程序(如 varmail, fileserver, oltp, dss, webserver, webproxy )。 Filebench 比较适合用来测试文件服务器性能,但同时也是一款负载自动生成工具,也可用于文件系统的性能。
代码
https://github.com/filebench/filebench
安装
1 | # yum install libtool automake |
运行
在目录 /usr/local/share/filebench/workloads/ 下有很多定义好的workload,我们可以拿来使用
配置里面的 $dir 为测试filesystem的目录,若文件后没有run <secs>
命令,添加:run <secs>
1 | # ls /usr/local/share/filebench/workloads/ |
1 | # /usr/local/bin/filebench -f /usr/local/share/filebench/workloads/createfiles.f |
输出解释:
- flowop name - 支持的flowop有很多
- 所有threads的ops
- 所有threads的ops / run time
- 所有threads的
READ/WRITE
带宽 - 所有threads的每个op的平均latency
- 测试中op的最小和最大latency
IO Summary:
149970 ops
:所有flowop的总和9372.298 ops/s
:所有flowop的总和 / run time0/3124 rd/wr
:所有flowop中READ/WRITE
的ops / run time48.8mb/s
: 所有flowop的IO带宽1.643ms/op
:所有flowop的每个op的平均latency
参考
https://github.com/filebench/filebench/wiki/Collected-metrics
写workload
我们可以自己写workload文件,语法格式可参考:https://github.com/filebench/filebench/wiki/Workload-model-language
以createfiles.f为例,解释里面的含义:
1 | # cat createfiles.f |