Subject: Thread benchmarks
To: None <tech-kern@netbsd.org, current-users@netbsd.og>
From: Andrew Doran <ad@netbsd.org>
List: tech-kern
Date: 09/28/2007 18:50:16
Back in March I posted some MySQL benchmarks after we switched to a 1:1
threading model in -current *. I've spent a lot of time tuning the pthread
library so I thought I'd post a followup. The original benchmark that I used
(supersmack) now performs much better on -current that it did a few months
ago, so I picked something else this time: MySQL sysbench.
Most of the sysbench runs that I've seen to date have sysbench running on
the same machine as the database. That's a good test but with the exception
of small installations and out-of-band activity, production setups rarely
look like that. So I ran sysbench itself on a seperate dual core system.
Here are the results, comparing NetBSD 3 with NetBSD-current:
http://www.netbsd.org/~ad/sysbench/netbsd.png
And NetBSD-current compared to other systems:
http://www.netbsd.org/~ad/sysbench/netbsd-and-others.png
Note this is stock NetBSD-current with FreeBSD's malloc() (jemalloc) in
libc. I'll be merging that some time soon.
With the vmlocking CVS branch and Mindaugas' new scheduler NetBSD peaks
around 500 TPS. There is a very gradual fall off in the number of TPS
achieved as the number of connections begins to ramp up. I suspect that
could be due to a weakness somewhere in the network stack, so I'm hopeful
that a bit of time spent profiling with large numbers of connections could
yield good results.
Thanks,
Andrew
* http://mail-index.netbsd.org/tech-kern/2007/03/02/0005.html