On 2001 Apr 20, Karl Prinz <kprinz@stripped> wrote:
> we are running mysql on a 4 prozessor machine under Free BSD and we
> recognized, that mysql is using different prozessors, but only one at a
> time. So one processor is always under heavy load, the remaining three stay
> Are there any possibilities to implement multithreading and multiprozessing
> for Free BDS, by recompiling the kernel etc. or is this a problem for mysql
> under Free BSD??
Thanks for your interest in MySQL. This particular list is
meant for discussing changes to the MySQL code itself. You
can find out which list to use on our web site:
When in doubt, write mysql@stripped. You don't have
to subscribe in order to write the list.
The problem is that FreeBSD's current threads implementation
doesn't utilize more than one processor for a single process.
You can get around this by running multiple mysqld's on one
machine. There is locking overhead when doing this, and it
might not be worth it for you, but it probably is worth
running some tests to see if it helps.
I've heard that you can link MySQL against the LinuxThreads
library (install ports/devel/linuxthreads, and then use the
--with-named-thread-libs='-llthread' argument when configuring
MySQL), but I've never tried it and I don't know how well it
works. Note that the LinuxThreads is NOT running under Linux
emulation; it's a native library that treats threads like
processes, just the way they are treated under Linux.
The FreeBSD team is working on a new implementation of threads.
It's dependent on some pretty complicated changes to the kernel,
and it doesn't look like it will be stable any time soon. (For
some interesting reading on the topic, check the freebsd-current
archives for the past week.) I have high hopes for it, and
think it will be great for running MySQL when it materializes,
but I'm not holding my breath for that day. So, while it pains
me to say it, another good option for many people is to run
mysqld on Linux.
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Tim Smith <tim@stripped>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Development Team
/_/ /_/\_, /___/\___\_\___/ Boone, NC USA