« Return to Thread: Re: [firebird-support] gds_thread_enter contention

Re: [firebird-support] gds_thread_enter contention

by Bud Millwood :: Rate this Message:

Reply to Author | View in Thread

On Tuesday 06 May 2008, Vlad Khorsun wrote:
> >>     Anyway - you may try to use fbclient from current HEAD (v2.5).
> >> It have no global mutex. Just download snapshot build and test it.
> >
> > Thanks for the info, Vlad. We'll build and test it and I'll report my
> > findings if this version makes a difference.
>
>     We also very interested in testing of Firebird scalability :)

We've just built and tested 'libfbclient.so' from the head branch and tested
it against the release version 2.0.3. In other words, we only switched out
the client library, and left the database server itself intact at version
2.0.3.

The performance improvement is huge:

fbclient-head: 6% processing time spent in 'futex'
fbclient-2.0.3: 75% processing time spent in 'futex'

Our throughput almost *doubled* to 1000 TPS. And I think that's the most we're
likely to see on this 8-core system.

To be certain, we tested by switching back and forth between fbclient
versions, with no changes to anything else in the system.

So the fbclient mutex in 2.0.3 is a serious scalability bottleneck. Regardless
of how many CPUs you have, if you run around 3 threads wide-open they'll
spend most of their time waiting on that mutex.

- Bud

Bud Millwood
Weird Solutions, Inc.
http://www.weird-solutions.com
tel: +46 8 758 3700
fax: +46 8 758 3687

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel

 « Return to Thread: Re: [firebird-support] gds_thread_enter contention