Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Feb 2007 20:22:39 +0100
From:      Jeremie Le Hen <jeremie@le-hen.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        freebsd-performance@FreeBSD.org
Subject:   Re: Progress on scaling of FreeBSD on 8 CPU systems
Message-ID:  <20070225192239.GN2479@obiwan.tataz.chchile.org>
In-Reply-To: <20070224215508.GA41968@xor.obsecurity.org>
References:  <20070224215508.GA41968@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Kris,

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
> here:
> 
>   http://www.freebsd.org/~kris/scaling/scaling.png
> 
> 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 [1] 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 ?

Thank you.
Best regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070225192239.GN2479>