Hi. We are using Apache::DBI to connect mod_perl to
mysql.
Suddenly (at about 21:00 GMT every day) the number
of mysql processes spirals into chaos. From a stable 8 to 20 processes, it jumps
up to 70 processes. This uses up all our 510MB RAM, swap-space gets used, and
the system grinds to a complete halt. Sometimes, if all load it taken off (users
stop their access), it sorts itself out, and mysql processes return to normal.
Other times server load hits 50 and I have to restart mysql. This kills all its
processes and the system continues happily.
1) We have no idea why this happens at that
particular time. There are no crons that run then, and we think have a
finite ammount of users accessing the system who do not do anything
different at the time the spike happens. The site is public though, so perhaps
spiders could be doing this? Any suggestions?
2) Does Apache create a new mysql
connection/process for EVERY child apache process that is spawned? I assume some
apache processes are spawned to handle simple non-database actions such as
retrieving a graphic or static html file. Because we're using Apache::DBI, does
this mean that even these little processes are creating a big mysql
process?
This is bringing us to our knees. Any help or
comments, no matter how obscure, would be greatly appriciated!
Thanks everyone,
John Cameron
|
- Re: Do all apache childs create persistant mysql connection... John Cameron
- Re: Do all apache childs create persistant mysql conne... Nigel Hamilton
- Re: Do all apache childs create persistant mysql conne... Perrin Harkins
- Re: Do all apache childs create persistant mysql c... John Cameron
- Re: Do all apache childs create persistant mys... Perrin Harkins
- Re: Do all apache childs create persistant mysql conne... Victor Tsang