Filebench 使用手册

Filebench是一个灵活的文件系统和存储基准工具,允许用户使用工作负载模型语言(WML)自定义或修改工作负载。本文提供了一个快速入门指南,包括如何创建用户定义的工作负载和如何使用预定义的工作负载。用户定义的工作负载示例涉及两个进程的三个线程,不断读取文件。预定义的工作负载如网络服务器工作负载则需要根据系统调整数据集大小。
摘要由CSDN通过智能技术生成

Filebench 使用手册
介绍
Filebench 是一个文件系统和存储基准,可以生成各种各样的工作负载。与典型的基准测试不同,它非常灵活,允许使用其广泛的工作负载模型语言(WML) 指定应用程序的 I/O 行为。用户可以从头开始描述所需的工作负载,也可以使用 Filebench 附带的工作负载特性(例如,邮件、Web、文件和数据库服务器工作负载)(无论是否修改)。Filebench 同样适用于微观和宏观基准测试,设置快速且相对易于使用。

快速入门指南
为了快速向 Filebench 介绍新用户,我们使用两个示例来演示两种不同的典型 Filebench 工作流程: 1)在 [WML](工作负载模型语言)中描述用户定义的工作负载并生成工作负载;2) 生成预定义的 Filebench 工作负载之一。在这两种情况下,首先需要安装 Filebench。它就像下载发行版 tarball、解压它,然后运行传统configure的make、、和sudo make install命令一样简单。如果您想从 git 存储库中的源代码构建 Filebench,这会有点复杂,您可以在 [此处](Building Filebench) 阅读更多相关信息。

本指南中的描述假定您使用Filebench 1.5-alpha1或更高版本。

示例 1:用户定义的工作负载
第一步是用 WML 语言创建工作负载的描述(所谓的工作负载个性)。通常,工作负载特征存储在带有.f扩展名的文件中。在这个例子中,我们描述了一个非常简单的工作负载,它由两个进程组成,每个进程有三个线程。每个线程不断地从多个文件中挑选一个文件,读取它,然后关闭该文件。这是相应的工作负载个性:

01  define fileset name="testF",entries=10000,filesize=16k,prealloc,path="/tmp"
02
03  define process name="readerP",instances=2 {
04    thread name="readerT",instances=3 {
05      flowop openfile name="openOP",filesetname="testF"
06      flowop readwholefile name="readOP",filesetname="testF"
07      flowop closefile name="closeOP"
08    }
09  }
10
11  run 60

Filebench中的四个主要实体是文件集、由线程组成的进程和流程。在第一行中,我们定义了一个文件集,其中包含 10,000 个目录中每个大小为 16KiB 的文件。Filebench 被指示在执行实际工作负载之前 _prealloc_ate 文件集中的所有文件。/tmp

在第三行和第四行中,我们定义了两个相同的进程,每个进程由三个相同的线程组成。Filebench 中的每个线程都会循环重复其中定义的流程(操作)。第 05-07 行描述了构成线程的流程:在“testF”文件集中打开一个文件,完全读取该文件,然后关闭它。最后,在第 11 行中,我们指示运行工作负载 60 秒。

在更复杂的工作负载中,可以定义任意数量的文件集、多个不同的进程和线程、使用各种流程和属性等等。请参阅 [完整的 WML 词汇表](工作负载模型语言)以了解详细信息,并参阅功能页面以获取所有功能的简短摘要。

假设个性保存在readfiles.f文件中,然后可以通过运行filebench -f readfiles.f命令生成相应的工作负载。

示例 2:预定义的工作负载
Filebench 带有几个预定义的微和宏工作负载(例如,网络服务器、文件服务器、邮件服务器),它们也在 WML 中进行了描述,与上面示例 1中的工作负载没有什么不同。在源代码树中,工作负载位于workloads/目录中,并且通常在安装/usr/local/share/filebench/workloads/期间安装make install(尽管这可能因安装而异)。

我们不建议直接使用来自workloads/或/usr/local/share/filebench/workloads/目录的工作负载文件。主要原因是这些工作负载的大小(例如,就数据集大小而言)不适合特定系统。例如,网络服务器工作负载的初始数据集大小仅略大于 16MiB,这通常不是您想要测试包含数 GB RAM 的系统的大小。

因此,将网络服务器工作负载复制到任何其他目录:

cp /usr/local/share/filebench/workloads/webserver.f mywebserver.f

entries然后通过将文件数(文件集的属性)设置为适当的值来编辑复制的文件以增加数据集大小。最后,运行工作负载:

filebench -f mywebserver.f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值