[EXTERNAL] Re: FreeBSD 11.1 Beta 2 ZFS performance degradation on SSDs

Steven Hartland killing at multiplay.co.uk
Wed Jun 21 15:58:59 UTC 2017


On 21/06/2017 13:31, Caza, Aaron wrote:
>
> >
>
> > *From:*Steven Hartland [mailto:killing at multiplay.co.uk]
> > *Sent:*Wednesday, June 21, 2017 2:01 AM
> > *To:*Caza, Aaron; freebsd-fs at freebsd.org
> > *Subject:*[EXTERNAL] Re: FreeBSD 11.1 Beta 2 ZFS performance 
> degradation on SSDs
>
> >
>
> > On 20/06/2017 21:26, Caza, Aaron wrote:
>
>         On 20/06/2017 17:58, Caza, Aaron wrote:
>
>         dT: 1.001s  w: 1.000s
>
>            L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>
>               0   4318   4318  34865    0.0      0      0    0.0      0      0    0.0   14.2| ada0
>
>               0   4402   4402  35213    0.0      0      0    0.0      0      0    0.0   14.4| ada1
>
>         dT: 1.002s  w: 1.000s
>
>            L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>
>               1   4249   4249  34136    0.0      0      0    0.0      0      0    0.0   14.1| ada0
>
>               0   4393   4393  35287    0.0      0      0    0.0      0      0    0.0   14.5| ada1
>
>         You %busy is very low, so sounds like the bottleneck isn't in raw disk performance but somewhere else.
>
>         Might be interesting to see if anything stands out in top -Sz and then press h for threads.
>
>     I rebooted the system to disable Trim so currently not degraded.
>
>     dT: 1.001s  w: 1.000s
>
>       L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>
>          3   3887   3887 426514    0.7      0      0    0.0      0      0    0.0   90.7| ada0
>
>          3   3987   3987 434702    0.7      0      0    0.0      0      0    0.0   92.0| ada1
>
>     dT: 1.002s  w: 1.000s
>
>       L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w    d/s   kBps   ms/d   %busy Name
>
>          3   3958   3958 433563    0.7      0      0    0.0      0      0    0.0   91.6| ada0
>
>          3   3989   3989 438417    0.7      0      0    0.0      0      0    0.0   93.0| ada1
>
>     test at f111beta2:~ # dd if=/testdb/test of=/dev/null bs=1m
>
>     16000+0 records in
>
>     16000+0 records out
>
>     16777216000 bytes transferred in 19.385855 secs (865435959 bytes/sec)
>
> > Now that is interesting, as your getting smaller number ops/s but 
> much higher throughput.
> >
> > In the normal case you're seeing ~108Kb per read where in the 
> degraded case you're seeing 8Kb per read.
> >
> > Given this and knowing the application level isn't effecting it, we 
> need to identify where in the IO stack the reads are getting limited 
> to 8Kb?
> >
> > With your additional information about ARC, it could be that the 
> limited memory is the cause.
> >
> > Regards
> > Steve
>
> I’m glad to learn that the above info is of some use.  The 50M limit I 
> previously used for the ZFS ACS served me well for the past several 
> years.  And, in fact, I thought it was still working well and only 
> accidentally stumbled over the performance drop when testing some 
> Intel 540 SSDs which were working surprisingly snappily despite using 
> TLC NAND flash. Initially, I saw a simple SQL query in Postgres go 
> from ~35 seconds to ~635 seconds and suspected the Intel 540s were the 
> cause.  Turns out it was me hamstringing the ARC that was to blame.  
> That said, it’s interesting that, using the GEOM ELI layer for 4k 
> sector emulation, it runs fine for several hours before performance 
> drops off when the ARC is set too small going from 850MB/s down to 
> 80MB/s.  In the case of ashift=12, the initial performance impact is 
> immediate on bootup going from 850MB/s with default ARC settings down 
> to 450MB/s with ARC set to 50M.  Then, some hours later, dropping down 
> to ~70MB/s.
>
> With regards to Trim, there were a number of suggestions to disable 
> it.  My understanding is that Trim support is highly desirable to 
> maintain peak performance but it seems it’s the #1 suspect when 
> there’s a performance drop.  Is it that problematic?  I’m considering 
> switching from GEOM ELI to ashift=12 for my 4k sector emulation in 
> order to get Trim but if it’s of no benefit then there’s not much point.
>
The GEOM hack is just that, you can actually remove the device once 
you've created the pool and it will have no effect.


More information about the freebsd-fs mailing list