Greeting Richard

After spending alomost 48 hours working on this problem, I believe I've
discovered the BUG in Filebench !!!.

I do not believe it is the change directory that you have indicated below
cause this directory is used to dump the stat data at the end of the
benchmarks, it is NOT used during benchmark's I/O. (DTrace proved that).

Any way , what I discovered is that when you run filebench in BATCH mode and
using randomread workload, filebench does not honor the workingset size
indicated in the config file that the user has created intially.

file bench generate another workload config file on behalf of the user with
an extension ".f" and pretty much apply all the settings that the user has
intially chosen in his config file EXCEPT the workingset size.

This means (according to filebench documentation) that tworkingset will
default to ZERO which also mean the WHOLE file (5G in my case- NO way to fit
in ARC) is being used in random reads for 100 seconds (looooots of seeeeeks)
and therefore greate latency.

However, when I run my SAME benchmark in an Interactive mode, my workingset
size (10m) is honored  which means that 10M of the file is loaded into ACR
and random reads is conducted from ARC. wooo 100% ARC hit as shown by my
arcstats.

The problem now is how to fix this bug in order to use the batch mode
effectivly ???

Any feed back



On Tue, Mar 2, 2010 at 11:09 AM, Richard Elling <richard.ell...@gmail.com>wrote:

> see below...
>
> On Mar 2, 2010, at 12:38 AM, Abdullah Al-Dahlawi wrote:
>
> > Greeting All
> >
> > I am using Filebench benchmark in an "Interactive mode" to test ZFS
> performance with randomread wordload.
> > My Filebench setting & run results are as follwos
> >
> ------------------------------------------------------------------------------------------
> > filebench> set $filesize=5g
> > filebench> set $dir=/hdd/fs32k
> > filebench> set $iosize=32k
> > filebench> set $workingset=10m
> > filebench> set $function=generic
> > filebench> set $filesystem=zfs
> > filebench> run 100
> >  1062: 106.866: Creating/pre-allocating files and filesets
> >  1062: 106.867: File largefile1: mbytes=5120
> >  1062: 106.867: Re-using file largefile1.
> >  1062: 106.867: Creating file largefile1...
> >  1062: 108.612: Preallocated 1 of 1 of file largefile1 in 2 seconds
> >  1062: 108.612: waiting for fileset pre-allocation to finish
> >  1062: 108.612: Starting 1 rand-read instances
> >  1063: 109.617: Starting 1 rand-thread threads
> >  1062: 112.627: Running...
> >  1062: 213.627: Run took 100 seconds...
> >  1062: 213.628: Per-Operation Breakdown
> > rand-rate                   0ops/s   0.0mb/s      0.0ms/op
>  0us/op-cpu
> > rand-read1              41845ops/s 1307.7mb/s      0.0ms/op
> 20us/op-cpu
> >
> >  1062: 213.628:
> > IO Summary:      4226337 ops, 41845.0 ops/s, (41845/0 r/w) 1307.7mb/s,
>   21us cpu/op,   0.0ms latency
> >  1062: 213.628: Shutting down processes
> >
> ---------------------------------------------------------------------------------------------
> > The output looks GREAT so far .... notice the 1307.7 mb/s
> >
> > **** HOWEVER *****
> >
> > When I run the SAME workload using Filebench "config file" in batch mode,
> the performance dropped significantly !!!!!!!!
> >
> > Here is my config file & filebench results.
> >
> >
> > # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
> > # Use is subject to license terms.
> > #
> > # ident    "%Z%%M%    %I%    %E% SMI"
> >
> > DEFAULTS {
> >     runtime = 30;
> >         dir = /hdd/fs32k;
> >         $statsdir=/export/home/abdullah/bench.stat/woow87;
> >         stats = /export/home/abdullah/bench.stat;
> >     filesystem = zfs;
> >     description = "ZFS-RR-WS-10M";
> > }
> >
> > CONFIG rr32k {
> >     function = generic;
> >     personality = randomread;
> >     filesize = 5g;
> >     iosize = 32k;
> >     nthreads = 1;
> >      workingset=10m;
> > }
> >
> > And the Run result ....
> >
> > abdul...@hp_hdx_16:/usr/benchmarks/filebench/config# filebench rrws10m
> > parsing profile for config: rr32k
> > Creating Client Script
> /export/home/abdullah/bench.stat/HP_HDX_16-zfs-rrws10m-Mar_2_2010-03h_10m_46s/rr32k/thisrun.f
> > Running
> /export/home/abdullah/bench.stat/HP_HDX_16-zfs-rrws10m-Mar_2_2010-03h_10m_46s/rr32k/thisrun.f
> > FileBench Version 1.4.4
> >  1147: 0.004: Random Read Version 2.0 IO personality successfully loaded
> >  1147: 0.004: Creating/pre-allocating files and filesets
> >  1147: 0.005: File largefile1: mbytes=5120
> >  1147: 0.005: Re-using file largefile1.
> >  1147: 0.005: Creating file largefile1...
> >  1147: 1.837: Preallocated 1 of 1 of file largefile1 in 2 seconds
> >  1147: 1.837: waiting for fileset pre-allocation to finish
> >  1147: 1.837: Running '/usr/benchmarks/filebench/scripts/fs_flush zfs
> /hdd/fs32k'
>
> This step flushes the cache.
>
> >  1147: 1.845: Change dir to
> /export/home/abdullah/bench.stat/HP_HDX_16-zfs-rrws10m-Mar_2_2010-03h_10m_46s/rr32k
> >  1147: 1.845: Starting 1 rand-read instances
> >  1149: 2.850: Starting 1 rand-thread threads
> >  1147: 5.860: Running...
> >  1147: 36.159: Run took 30 seconds...
> >  1147: 36.160: Per-Operation Breakdown
> > rand-rate                   0ops/s   0.0mb/s      0.0ms/op
>  0us/op-cpu
> > rand-read1                 88ops/s   2.7mb/s     11.4ms/op
> 35us/op-cpu
>
> This is right on spec for a single drive: seek + rotate = 11.3 ms
>  -- richard
>
> >
> >  1147: 36.160:
> > IO Summary:       2660 ops,  87.8 ops/s, (88/0 r/w)   2.7mb/s,    443us
> cpu/op,  11.4ms latency
> >  1147: 36.160: Stats dump to file 'stats.rr32k.out'
> >  1147: 36.160: in statsdump stats.rr32k.out
> >  1147: 36.415: Shutting down processes
> > Generating html for
> /export/home/abdullah/bench.stat/HP_HDX_16-zfs-rrws10m-Mar_2_2010-03h_10m_46s
> > file =
> /export/home/abdullah/bench.stat/HP_HDX_16-zfs-rrws10m-Mar_2_2010-03h_10m_46s/rr32k/stats.rr32k.out
> >
> ------------------------------------------------------------------------------------------------
> >
> > The output for the same workload is disappointing , notice that the
> throughput dropped from 1307.7 mb/s to 2.7 mb/s !!!!!!!!!!!!!!!!!!!!!!1
> >
> > My ARC_max is 3G
> >
> > Here is a snapshot of my arcstat output in case of high throughput ---
> > notice the 100% hits ratio
> >
> >
> >
> arcsz,read,hits,Hit%,miss,miss%,dhit,dh%,dmis,dm%,phit,ph%,pmis,pm%,mhit,mh%,mmis,mm%,mfug,mrug,
> >    1G, 31M, 31M,  99,111K,    0, 28M, 99, 99K,  0,  2M, 99, 12K,  0,  1M,
> 98, 13K,  1,  43,  43,
> >    1G,147K,145K,  99,  1K,    0, 14K, 99,   2,  0,131K, 99,  1K,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,166K,166K, 100,   0,    0, 37K,100,   0,  0,128K,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 41K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 41K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,
>  10,100,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 41K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 41K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 42K, 42K, 100,   0,    0, 42K,100,   0,  0, 256,100,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >
> > and a snapshot in case of low throughput
> > notice the low hit ratio !!
> >
> arcsz,read,hits,Hit%,miss,miss%,dhit,dh%,dmis,dm%,phit,ph%,pmis,pm%,mhit,mh%,mmis,mm%,mfug,mrug,
> >    1G,   3,   3, 100,   0,    0,   3,100,   0,  0,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,   0,   0,   0,   0,    0,   0,  0,   0,  0,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,   0,   0,   0,   0,    0,   0,  0,   0,  0,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,   0,   0,   0,   0,    0,   0,  0,   0,  0,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,  40,   3,   7,  37,   92,   3,  7,  37, 92,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 113,  12,  10, 101,   89,  12, 10, 101, 89,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 105,  14,  13,  91,   86,  14, 13,  91, 86,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 108,  15,  13,  93,   86,  15, 13,  93, 86,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,  99,  11,  11,  88,   88,  11, 11,  88, 88,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 103,  11,  10,  92,   89,  11, 10,  92, 89,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 101,  13,  12,  88,   87,  13, 12,  88, 87,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 107,  12,  11,  95,   88,  12, 11,  95, 88,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,  99,  12,  12,  87,   87,  12, 12,  87, 87,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 100,   5,   5,  95,   95,   5,  5,  95, 95,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 114,  17,  14,  97,   85,  17, 14,  97, 85,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 106,  17,  16,  89,   83,  17, 16,  89, 83,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 107,   7,   6, 100,   93,   7,  6, 100, 93,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 100,  11,  11,  89,   89,  11, 11,  89, 89,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G,  99,   8,   8,  91,   91,   8,  8,  91, 91,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 101,   9,   8,  92,   91,   9,  8,  92, 91,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >    1G, 101,   9,   8,  92,   91,   9,  8,  92, 91,   0,  0,   0,  0,   0,
>  0,   0,  0,   0,   0,
> >
> >
> > Any Feed Back !!!!!!!!!!!!
> >
> > --
> > Abdullah Al-Dahlawi
> > PhD Candidate
> > George Washington University
> > Department. Of Electrical & Computer Engineering
> > ----
> > Check The Fastest 500 Super Computers Worldwide
> > http://www.top500.org/list/2009/11/100
> > _______________________________________________
> > zfs-discuss mailing list
> > zfs-discuss@opensolaris.org
> > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
>
> ZFS storage and performance consulting at http://www.RichardElling.com
> ZFS training on deduplication, NexentaStor, and NAS performance
> http://nexenta-atlanta.eventbrite.com (March 16-18, 2010)
>
>
>
>
>


-- 
Abdullah Al-Dahlawi
PhD Candidate
George Washington University
Department. Of Electrical & Computer Engineering
----
Check The Fastest 500 Super Computers Worldwide
http://www.top500.org/list/2009/11/100
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to