[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Please help with Kernel Tuning for a Database Server



This is happening to me, too, with a MySQL server. (Installed by newest -current port of MySQL, running on OpenBSD 2.9)

Same database, PHP code, and web-traffic was on a Debian Linux server with no stress at all.

When I switched it to OpenBSD, (no other change. even identical hardware.) it's been stressing like you describe below. And mysqld occasionally spinning out of control to 99% CPU which only a reboot fixes.

I've optimized the kernel as streamlined as possible, with advice from many, and it hasn't helped anything.

I love OpenBSD and would love to run my MySQL-intensive site on it, but also fear I might have to switch it back to Debian if I can't fix this soon.

Any advice appreciated!


At 10:50 AM 8/23/01, you wrote:
I have a production server running OpenBSD 2.8, and I am running the generic
kernel because my compiled kernels have major problems with crashing the
machine.

My machine has a 1GHz processor (idle NEVER drops below 30%), and 1.5GB RAM.
I am trying to use RAM more to speed things up.  The machine runs a
PostgreSQL server and Apache.

The load on my machine sits consistently between 7 and 10, although
sometimes peaking at 20.  I have obviously been trying to bring this down.

When I look at top, I have a lot of postgres server connections sitting with
WAIT states of netio and semwai.

I have tried to increase the SYSV shared memory options, but I can't seem to
increase it sufficiently.  I saw a tweaking guide that appeared to optimize
a machine for around 64MB of RAM, which obviously isn't what I want.  The
parameters that I have tried are:

SHMMAXPGS
SHMSEG
SEMMNI
SEMMNS
SEMMNU
SEMMAP

I CANNOT for the life of me find anywhere what these should be set for.  The
Postgres tuning guide tells me some minimums, but it doesn't appear.

I have used ipcs -S and a few other things to poke around with what I can
set some variables to.  However, I cannot crank up the max connections and
buffers for Postgres without increases the amount of shared memory and other
attributes.

I've got about 2 weeks to fix the problem or the database server is being
migrated to a Linux server and OpenBSD will be relegated (if kept) to Web
Serving.

Can someone who actually understands how this all works e-mail me so we can
get to the bottom of things?  I really feel that more buffers for Postgres
would help my situation with big queries causing problems, but I also need a
solution for them constantly sitting in netio and semwai.  For added fun, we
consistently have about 1.3GB of RAM free, which to me implies we aren't
bringing the hardware to bear.

Please help.

Regards,
Alex



Visit your host, monkey.org