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>