Why is MySQL nearly twice as fast on Linux?

JG amd64list at jpgsworld.com
Fri May 21 22:23:43 PDT 2004



 >After reading the posts at the mailing lists mentioned above,
 >Do you have any suggestions or ideas as to what the problem is?


>We are more concerned about correctness right now than speed.
>There are some optimizations that can be made WRT low-level
>locking (for instance using cmpxchg when possible).  The
>kernel also still has some more work WRT locking.
>
>Also, the default kernel configuration with WITNESS and
>INVARIANTS adds overhead.

As stated in the benchmark results, WITNESS and INVARIANTS
was disabled. Someone else brought that up very early on.


>Yet another also, MySQL uses scope system threads by default
>instead of scope process threads.  Scope process threads seem
>to perform better.
>
>   http://people.freebsd.org/~deischen/mysql40-server.diffs

Again, this patch was already made.
It did next to nothing performance wise for MySQL.


>You can also build mysql with LinuxThreads under FreeBSD
>and see if it performs any better.

LinuxThreads is not available for FreeBSD/AMD64.

However, as reported on the freebsd-amd64 thread list archive,
sadly, the best configuration turned out to be running this 64-bit AMD64
hardware in 32-bit mode under _i386_ FreeBSD rather than FreeBSD/AMD64
with mysql compiled with linuxthreads -- and those results were still very poor
compared to a "out of the box" Linux + mysql install.

>   If it is comparable,
>that would tend to point to the kernel as the limiting
>factor.

There is a significant improvement when using LinuxThreads vs
libpthreads or libc_r, others have reported no difference with libthr
as well.  



More information about the freebsd-threads mailing list