[horde] stable horde configurations?
Adrian Chadd
adrian at ucs.uwa.edu.au
Thu Jun 3 21:37:58 PDT 2004
Hi,
I'm having some real stability problems with our horde setup.
As far as I can tell the stability issues are php4 and apache related.
I'm sure horde does quite a few crazy things internally which may be
tickling some edge conditions and I'm sure its related to the high
load we're putting on the server.
I'm running what I view to be a reasonably busy horde server using
CVS code from about 5 months ago. Please don't suggest upgrading unless
you know of a few bugs which horde DOES tickle in apache or php4 which
were fixed.
I'm servicing about 150 concurrent users, on average, during peak times.
I'm deciding this by periodically trolling the session table and
counting the number of sessions which have been modified in the last
5 minutes.
Futhermore, I'm using the php accelerator at http://www.phpa.co.uk/.
The webmail server, as it stands, has no chance of keeping any
reasonable request time without it (read: load averages shoot up to
about 300). For what its worth, the server is a HT P4 3.2ghz Dell 750
with 2gb of RAM.
I'm also using mod_ssl to provide SSL encryption. Turning this off
isn't much of an option just at the moment as the encryption is a big
selling point.
This is all running on debian unstable. I've been tracking unstable
now for about 6 months and stability hasn't changed.
We have one local apache module, something we call mod_rlimit.
Its basic task is to set rlimits on the child apache processes.
Without it we'd have child apaches, inside PHP, either mallocing memory
like crazy and/or spinlocking the CPU. Just one of these processes
causes the whole server to bog down and stop working.
Finally, apache has MaxClients set to 65 - any higher and we start to
page out memory to disk and this causes great spiralling death of the
server. Before you say thats a silly idea, lets do the math. Each apache
process takes 108mb of VM and a RSS of around 15meg. Now, 105meg +
(15*65) = 1080mb. Thats roughly one gigabyte of RAM which is being used.
Currently the server has 1 gig of cached pages. I could up the apache
limit a little more but, as it stands, the response time is quite fine.
I won't up the limit unless there's a really good (read: will fix
stability issues) reason. And yes, I've upped it to see if it does and
no, apache still dies quite regularly.
I'm seeing apache lock up every, say, 4 hours on average. This is,
the apaches aren't spinlocking on CPU or memory, they're just locked
solid. I need to kill all the apache processes and start again.
Next, without mod_rlimit, I'm seeing php allocating _a lot_ of RAM.
Especially when its dealing with attachments. Thats a seperate issue
but, for now, I've set the maximum attachment upload size at 4meg.
Ok, thats all the information. What I'm after here are reports of stable
horde installations under reasonable load. I'm after specifics -
apache version, php4 version, horde version, libc version,
OS/Distribution. SSL or non SSL. PHP accelerator or no PHP accelerator.
I'd like to track down possible causes of this. Yes, I'm quite aware
that mod_ssl + random other SSL crap might be causing stability issues.
Yes, I'm quite aware it could be the php accelerator. I just can't
turn any of this off without the service becoming unuseable due to load
or unuseable because of the lack of encryption. My aim here is to get a
feel for what stable configurations people DO have, compare it to my
own and then build a list of the differences.
Thankyou for your time,
Adrian
--
Adrian Chadd The University of Western Australia
<adrian at ucs.uwa.edu.au> CRICOS: 00126G
Ph: +61 8 6488 2574
Mob: +61 421 597 819
More information about the horde
mailing list