Hello there list!

I'm having some trouble with my web server running Apache and MySQL.
I'm accessing the DB through the latest DBI:DBD and Perl.

I was running 2.22.32 quite successfully for about a year until usage starting 
becoming a problem.
I upgraded to 2.23.36 and the problem stayed the same.

Basically, the server will cruise along at 50 queries a second without problems.
Top's load level hovers between 2.xx and 3.xx, so it's not overly loaded.

When the number of users increases until we hit about 100 queries per second, I get a 
kernel panic.
It claims that it was unable to handle a kernel paging request and I've got to do a 
hard reboot.

All I'm running on the server is Apache, Perl and MySQL.
It's an SMP P-III 550x2 with 512MB ECC SDRAM.

The memory usage is very low. It never goes above 160MB used -- even at the point when 
the kernel dies.
I've replaced the memory and motherboard -- suspecting either a bad chip or bad memory 
controller, but it had no affect.

When the number of queries reaches 100/sec my load level in top reaches between 10.xx 
and 12.xx, so there's a lot of stuff
being done on the server, certainly. 

I was just writing to see if i was simply over-processing the server. The site doesn't 
seem slow per-sec, it's definately tolerable.
And we only reach these conditions during extreme peak times of the day, so I don't 
really want to replicate my DB and send the 
non-updating queries to another system if I don't have to.

My question is: Is it possible that these kernel faults are the result of process 
context-switching in Linux?
If so, would an update from the 2.2.12smp kernel to 2.2.16smp help? or maybe 2.4 -- 
although I don't trust it for production.

What about HDD corruption (I'm not page swapping as a result of low memory)
Is it possible that all of the crashing has corrupted the HD and now everything is 
just hosed?
In which case a re-install of Linux using the same kernel should fix the problem.

I'm just trying to decide what my best option is to solve the problem. 
Re-install the OS, run Solaris instead of Linux, find a non-crashing MySQL version, 
get faster processors, replicate the DB, etc..

I guess I could also move to a PHP or JSP solution, as Perl may be causing the 
problem. But seeing as my CPU's able to route 100 queries per second to MySQL, I think 
they're being processed fast enough, just not reliably.

Sorry about the open ended post. I really don't want to start an OS war or anything. 
I'm just trying to figure out if the kernel fault is due to a MySQL problem, an OS 
problem or a hardware problem.

I hope I can get some good feedback to direct my next move.
Thanks so much

Mike
InsideCorner.com

Reply via email to