[zfs-discuss] Performance question

Kash Pande kashpande at gmail.com
Mon May 30 07:30:28 EDT 2016


You can use perf to record the system activity and then generate a flame
graph using Brendan Gregg's toolkit.

There exists similar functionality using DTrace on illumos.

That will help determine where ZoL needs optimization.

Kash

On 29/05/16 05:59 PM, Henrik Johansson via zfs-discuss wrote:
> Hi,
>
> I’m comparing the ZoL om Ubuntu 16.04 with OmniOS to see it it is possible to switch for some of our systems. Running filebench against a simulated workload that we have does however show much higher latency for random reads with ZoL. Is this expected or could something else be at play here?
>
> OmniOS r151018:
>  2116: 1128.302: Run took 900 seconds...
>  2116: 1128.302: Per-Operation Breakdown
> closefile1           52850ops       59ops/s   0.0mb/s      0.0ms/op        8us/op-cpu [0ms - 0ms]
> readfile1            52850ops       59ops/s   2.9mb/s     17.0ms/op      125us/op-cpu [0ms - 680ms]
> openfile1            52851ops       59ops/s   0.0mb/s      0.0ms/op       26us/op-cpu [0ms - 0ms]
>  2116: 1128.302: IO Summary: 158551 ops, 176.155 ops/s, (59/0 r/w),   2.9mb/s,   1415us cpu/op,  17.0m
> s latency
>
> Ubuntu 16.04:
>  9550: 1451.634: Run took 900 seconds...
>  9550: 1451.634: Per-Operation Breakdown
> closefile1           23449ops       26ops/s   0.0mb/s      0.0ms/op       33us/op-cpu [0ms - 0ms]
> readfile1            23449ops       26ops/s   1.3mb/s     38.2ms/op      300us/op-cpu [0ms - 961ms]
> openfile1            23450ops       26ops/s   0.0mb/s      0.0ms/op       23us/op-cpu [0ms - 0ms]
>  9550: 1451.634: IO Summary: 70348 ops, 78.155 ops/s, (26/0 r/w),   1.3mb/s,    812us cpu/op,  38.3ms
> latency
>
> Identical hardware, both pool consist of 8 mirrors, ARC limited to 1GB to simulate a larger working set.
>
> filebench workload:
> set $dir=/bench
> set $nfiles=50
> set $meandirwidth=20
> set $meanfilesize=2g
> set $nthreads=1
> set $iosize=50k
>
> define fileset name=bigfileset,path=$dir,size=$meanfilesize,filesizegamma=0,entries=$nfiles,dirwidth=$
> meandirwidth,prealloc=100
>
> define process name=filereader,instances=1
> {
>   thread name=filereaderthread,memsize=10m,instances=$nthreads
>   {
>     flowop openfile name=openfile1,filesetname=bigfileset,fd=1
>     flowop read name=readfile1,fd=1,iosize=$iosize,random
>     flowop closefile name=closefile1,fd=1
>   }
> }
>
> Regards
> Henrik
> _______________________________________________
> zfs-discuss mailing list
> zfs-discuss at list.zfsonlinux.org
> http://list.zfsonlinux.org/cgi-bin/mailman/listinfo/zfs-discuss



More information about the zfs-discuss mailing list