Filebench Version 1.5-alpha3执行workload后输出结果解释

比如,我执行了以下命令

root@t-04:/opt/my_filebench# filebench -f /opt/my_filebench/fileserver.f

执行完成时,输出的大体内容如下(因为我当时是根据官方示例将其英文描述翻译成中文并记录了下,此时就将翻译后的内容直接复制过来了,没有再根据自己的实例再逐行解释了):

...
00| 0.175: bigfileset populated: 100000 files, avg. dir. width = 20, avg. dir. depth = 3.8, 0 leafdirs, 12510.457MB total size
...
01| 61.853: Run took 60 seconds...
02| 61.855: Per-Operation Breakdown
03| statfile1            403700ops     6728ops/s   0.0mb/s    0.002ms/op [0.001ms - 2.320ms]
04| deletefile1          403700ops     6728ops/s   0.0mb/s    0.866ms/op [0.021ms - 244.148ms]
05| closefile3           403702ops     6728ops/s   0.0mb/s    0.664ms/op [0.001ms - 10.680ms]
06| readfile1            403705ops     6728ops/s 888.0mb/s    0.041ms/op [0.001ms - 7.077ms]
07| openfile2            403706ops     6728ops/s   0.0mb/s    1.238ms/op [0.005ms - 19.114ms]
08| closefile2           403715ops     6728ops/s   0.0mb/s    0.585ms/op [0.001ms - 13.162ms]
09| appendfilerand1      403723ops     6728ops/s  52.5mb/s    0.605ms/op [0.000ms - 10.248ms]
10| openfile1            403728ops     6728ops/s   0.0mb/s    1.210ms/op [0.007ms - 16.119ms]
11| closefile1           403738ops     6729ops/s   0.0mb/s    0.636ms/op [0.001ms - 13.222ms]
12| wrtfile1             403745ops     6729ops/s 834.3mb/s    0.808ms/op [0.012ms - 16.785ms]
13| createfile1          403748ops     6729ops/s   0.0mb/s    0.754ms/op [0.012ms - 16.790ms]
14| 61.855: IO Summary: 4440910 ops 74010.535 ops/s 6728/13457 rd/wr 1774.9mb/s 0.673ms/op
15| 61.855: Shutting down processes

以下是对以上输出内容的解释(如果觉得不好查看,可以将其复制到某文本编辑器中再查看可能好点),或者你可以直接查看其在github项目官网给出的英文解释:Example of workload with non-I/O flowops and iters= attribute

# 第00行,是将此正在执行的workload的相关定义信息打印出来了,此workload中定义了一个数据集叫bigfileset,它一共包含100000个小文件,平均每个目录下有
#20个文件,平均层级尝试为3.8,此数据集的总大小为12510.457MB。也就是说你被测试的目录至少要留出12510.457MB的空闲空间才能正常执行此workload。最前面的
#数字“0.175”是说从回车到执行此条子命令一共花费了多少时间,后面每行首的数字的意思都是类似

# 第01行,说明真正执行第03~13行这些flowop一共花费了60s(这个是通过此文件最后一行"run 60"定义的)
# 第03行,说明在“61.855”这个时间点,此workload中定义的所有线程中的任务都结束了

# 第03~13行各列代表的意义分别是(以第03行为例说明):
# statfile1:flowop名称
# 403700ops:这个flowop在所有线程中在60s内时间内执行的操作数目
# 6728ops/s:平均每秒执行的操作数目即(403700ops/60s)=6728ops
# 0.0mb/s:平均吞吐率(filebench自己底层计算得来)。
# 0.002ms/op:平均每个flowop的时延
# [0.001ms - 2.320ms]:所有线程中,flowop执行时的最小时延与最大时延

# 第14行,从左到右的数据代表的意义分别是:
# "4440910 ops":在60s内处理的总ops数目
# "74010.535 ops/s":平均每秒处理的ops数目即"(在60s内处理的总ops数目)/60"即(4440910 ops)/60s=74010.535 ops/s
# "6728":总体上读操作吞吐率=(所有读相关操作处理的ops之和/60)即(403705 ops)/60s=6728 ops/s。此处403705来自06 行的403705,因为所有的flowop中只有这一个操作与读有关
# "13457":总体上写操作吞吐率=(所有写相关操作处理的ops之和/60)即(403723 ops + 403745 ops)/60s=13457 ops/s。此处403723、403745分别来自09行、12行,因为所有的flowop中这两个操作与写有关
# "1774.9mb/s":总体吞吐率即"所有读写操作吞吐率之和"。即03-13行: 888.0mb/s + 52.5mb/s + 834.3mb/s = 1774.9mb/s
# "0.673ms/op":总体上每个ops的延迟时间。(0.002 +0.866+0.664+0.041+1.238+0.585+0.605+1.210+0.636+0.808+0.754) / 11 = 0.673ms/op


其中fileserver.f(其实就是完成安装好后filebench给出的fileserver.f示例文件)文件大概内容应该是如下的(针对此类.f文件的语法,官方给出一种语言 Workload Model Language (WML),我也没有完全仔细去学,这两天就大概看了下示例能大概看懂一些常见语法):

set $dir=/tmp
set $nfiles=100000
set $meandirwidth=20
set $filesize=cvar(type=cvar-gamma,parameters=mean:131072;gamma:1.5)
set $nthreads=50
set $iosize=1m
set $meanappendsize=16k

define fileset name=bigfileset,path=$dir,size=$filesize,entries=$nfiles,dirwidth=$meandirwidth,prealloc=80

define process name=filereader,instances=1
{
  thread name=filereaderthread,memsize=10m,instances=$nthreads
  {
    flowop createfile name=createfile1,filesetname=bigfileset,fd=1
    flowop writewholefile name=wrtfile1,srcfd=1,fd=1,iosize=$iosize
    flowop closefile name=closefile1,fd=1
    flowop openfile name=openfile1,filesetname=bigfileset,fd=1
    flowop appendfilerand name=appendfilerand1,iosize=$meanappendsize,fd=1
    flowop closefile name=closefile2,fd=1
    flowop openfile name=openfile2,filesetname=bigfileset,fd=1
    flowop readwholefile name=readfile1,fd=1,iosize=$iosize
    flowop closefile name=closefile3,fd=1
    flowop deletefile name=deletefile1,filesetname=bigfileset
    flowop statfile name=statfile1,filesetname=bigfileset
  }
}
echo  "File-server Version 3.0 personality successfully loaded"
run 60
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值