Andy, one reason (in addition to slower clock speeds per core) that a
system with more cores might be slower than an equivalently fast single
processor is memory bandwidth and communications bottlenecks between
cores. Synchronization of multiple database processes and accesses to
shared data are critical in database processing. Mechanisms to
coordinate these activities might scale well-enough on a uniprocessor
but not so well on a multi-core machine.
In addition to Baron's "shameless plug" about XtraDB, I guess I'll make
a similar "shameless plug" for the InnoDB Plugin. The development team
that wrote InnoDB originally (and maintains the InnoDB built in to
MySQL) continues to enhance performance and functionality. The InnoDB
Plugin has recently been released and includes a patch from Google that
significantly improves multi-core scalability. It's worth remembering
that the enhanced version of InnoDB, the InnoDB Plugin, is available on
http://www.innodb.com/innodb_plugin/, in addition to the forks Baron
Baron Schwartz wrote:
> MySQL isn't multi-process, it's single-process and multi-threaded.
> A lot of work is going into making it scale better on SMP machines.
> Much of this is to be released in future versions of MySQL. The
> Drizzle developers are also doing a lot of good work, but that's in
> Drizzle. Right now if you want a more scalable *current* version of
> MySQL, you need to look to the Google patches, the Percona builds (and
> Percona XtraDB, a fork of InnoDB), or OurDelta builds.
> On Sat, Apr 11, 2009 at 9:27 AM, Andy Smith <a.smith@stripped> wrote:
>> In what way can having more cores slow down MySQL (or any other app for
>> that matter)? Are you simlpy referring to the fact that some mutlicore
>> servers might be slower in single threaded preformance than a higher clocked
>> single core system? If I have a mutlicore system with fast single threaded
>> performance I wouldnt expect it to be slower in almost any cases with
>> something like a mutliprocess database system,
>> thanks Andy.
>> Quoting mos <mos99@stripped>:
>>> Using more cores with MySQL doesn't mean it will run faster. In fact, it
>>> could slow it down. Make sure you have done benchmarking with your current
>>> computer so you can compare the difference. InnoDb and MyISAM don't scale
>>> well with multi-cores I'm afraid.
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe: http://lists.mysql.com/mysql?unsubºron@ style="color:#666">stripped