BerkeleyDB Hash vs Btree on FreeBSD and Linux

Nick Kostirya nikolay.kostirya at i11.co
Fri Jul 3 13:36:06 UTC 2020


The question is being removed.

I found out that the big difference is only for the HDD, but not for the SSD.
And the difference is very noticeable on long values (> 5000).

But I still did not find the conditions when the hash is better.

I will use only btree from now.



On Thu, 2 Jul 2020 00:00:42 +0800
Li-Wen Hsu <lwhsu at freebsd.org> wrote:

> On Wed, Jul 1, 2020 at 8:07 PM Nick Kostirya via freebsd-stable
> <freebsd-stable at freebsd.org> wrote:
> >
> > On Wed, 1 Jul 2020 18:20:19 +0800
> > Li-Wen Hsu <lwhsu at freebsd.org> wrote:
> >  
> > > On Wed, Jul 1, 2020 at 6:07 PM Nick Kostirya via freebsd-stable
> > > <freebsd-stable at freebsd.org> wrote:  
> > > >
> > > > Hello.
> > > >
> > > > I noticed that BerkeleyDB Hash is VERY slow compared to BerkeleyDB Btree on FreeBSD (UFS or ZFS).
> > > > But they (Hash and Btree) have roughly the same performance on Linux.
> > > >
> > > > Why?  
> > >
> > > It's not an easy question, do you have more information about the test
> > > environment setup, and the statistics of the results?  
> 
> Any information about this?
> 
> > > I'd recommend using some analysis tools like DTrace to check what it's busy for.  
> >
> >
> > The top show getblk status often.
> >
> > Please tell me what you can and how to look with DTrace.
> >
> > I use
> >   dtrace -n '::: /execname == "a.out"/ { @[probefunc] = count(); }'
> >
> > but I do not see the difference between Hash and Btree.  
> 
> I would say check the flame graph:
> http://www.brendangregg.com/blog/2015-03-10/freebsd-flame-graphs.html
> There is benchmarks/flamegraph port but I haven't used it for a while.
> 
> Li-Wen
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"


More information about the freebsd-stable mailing list