Revisiting FreeBSD vs. Linux for MySQL
Dan writes "Jeremy Zawodny, who looks after all of Yahoo!'s MySQL servers says MySQL now runs very well on FreeBSD. He is no longer steering people toward Linux. There are two important things you should do to make the FreeBSD/MySQL combo work well: (1) build MySQL with LinuxThreads rather than FreeBSD's native threads, and (2) use MySQL 4.x or newer."
cos i thinks that's newer than mysql will ever be 8)
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
thanks for theinfo though, tsearch looks pretty useful for my stuff & ltree sounds intreaguing (if you'll excuse the pun)
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Given that FreeBSD -current 1:1 threads are not 100% yet, the native FreeBSD threads will not grant the optimal performance compared to the linux threads. Yahoo probably uses a RELEASE version, or a -STABLE version of FreeBSD on their production systems, so the KSE probably isn't an option anyways. Once KSE is finished, I'm sure we will reviste the "FreeBSD V. Linux" threads war again. No granted I'm a bit biased toward FreeBSD, but I think that since the same folks control the LIBC taht are also creating the KSE (kernel scheduled Entities, aka kernel aware threads) that FreeBSD will have a bit tighter integration when all things are said and done.
It isn't a lie if you belive it.
Please note that on 3.3-STABLE and -current, MySQL is also finally extremely stable on OpenBSD, with native threads.
A lot of threading-related work has been made during the 3.3 development cycle and there are no more unexpected crashes with this sort of apps. For instance the new threading code solved all issues I had with the Oops proxy, that is now very stable on production servers.
{{.sig}}
The article mentions that some things have been fixed in 5.0. Which could make some feel that upgrading to 5.0 would be a smart idea. However, FreeBSD hackers, being a conservative bunch, would disagree.
Thankfully, any worthwhile fixes in CURRENT will usually be backported to the STABLE. For example:
From the article:
The problem of MySQL occasionally thinking that all databases had vanished resulted from FreeBSD's non-threadsafe implementation of realpath().
CVS log for src/lib/libc/stdlib/realpath.c
MFC: make realpath thread-safe.
So personally me thinks a make world would be an idea sometime soon.
Do you mind, your karma has just run over my dogma.
Of course you first have to install portupgrade itself. Also despite the name it'll do ports, packages, upgrades, installs and of course (most importantly) will upgrade ports where make fails because the port you're upgrading is listed as a dependancy for other ports.
I'd like to see similar comments running the anticipatory scheduler for Linux and a quad processor SMP box vs FreeBSD. Thats where the differences in SMP performance and the threading implementation will show.