Progress on scaling of FreeBSD on 8 CPU systems
Jeremie Le Hen
jeremie at le-hen.org
Sun Feb 25 19:44:35 UTC 2007
On Sat, Feb 24, 2007 at 04:55:08PM -0500, Kris Kennaway wrote:
> Now that the goals of the SMPng project are complete, for the past
> year or more several of us have been working hard on profiling FreeBSD
> in various multiprocessor workloads, and looking for performance
> bottlenecks to be optimized.
> We have recently made significant progress on optimizing for MySQL
> running on an 8-core amd64 system. The graph of results may be found
> This shows the graph of MySQL transactions/second performed by a
> multi-threaded client workload against a local MySQL database with
> varying numbers of client threads, with identically configured FreeBSD
> and Linux systems on the same machine.
I'm really glad to be looking at these results eventually. Thanks to
all FreeBSD committers.
> The test was run on FreeBSD 7.0, with the latest version of the ULE
> 2.0 scheduler, the libthr threading library, and an uncommitted patch
> from Jeff Roberson  that addresses poor scalability of file
> descriptor locking (using a new sleepable mutex primitive); this patch
> is responsible for almost all of the performance and scaling
> improvements measured. It also includes some other patches (collected
> in my kris-contention p4 branch) that have been shown to help
> contention in MySQL workloads in the past (including a UNIX domain
> socket locking pushdown patch from Robert Watson), but these were
> shown to only give small individual contributions, with a cumulative
> effect on the order of 5-10%.
MySQL uses gettimeofday(2) very often. ISTR it has been stated
that MySQL performances could make the most of a system-wide shared
page where the current time would be updated regularly by the kernel;
gettimeofday(2) could consequentely work without any context switch.
Do the patches you're talking about include such a feature already ?
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >
More information about the freebsd-performance