my apache crashes too. I've read the forums and I'm beginning to give up hope.
I don't have a MaxClients, a timeout, a keep alive, max keep alive requests or a keep alive timeout. I'm assuming that I must be running at default settings on these or worse still that the version of Apache 2.2 that I'm using needs something else entirely and that these references are all refering to a different version of Apache. I'm using Windows 2003 as my server.
I've seen two references for how to add the MaxClients statment into the apache config file - one just appears to say MaxClients NN and the other seems to be implying much more complicated and needing something about minispareservers.
I looked that up on the Internet and I think that might be if you are using other than windows.
Any pointers for what to look at or for would be tremendous.
Thanks
Can anybody help me with 'Threads per Child' setting?
I have ThreadsPerChild 250 in my config file. I would just have accepted whatever the default was in the config file as I didn't know any better. However the Apache manual is saying the default is 64 and the apache for windows is recommending 50. It also goes on to say make sure it is high enough. I'm guessing you could probably make it too high and cause yourelf problems too.
Thanks
Hi Heather, I went through this headache late last year. The best thing to do is work out one by one, what the values should be for Apache and be sure of it. It's very easy to get into a cycle of changing one, then changing another, then changing the first one again.
The key values to look at for a Windows server are:
- ThreadsPerChild
- MaxRequestsPerChild (set this to 0 for Windows)
- EnableMMap
- EnableSendFile
- Win32DisableAcceptEx
Half the problem is that there's only one starting point config file for Windows, rather than the 4 you get for Linux depending on your spec of server.
For ThreadsPerChild, find the mod_status LoadModule line and change it to this:
LoadModule status_module modules/mod_status.so
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from IP_address_of_your_own_PC
</Location>
This will allow you to go to http://yourmoodle/server-status and see how many threads are being used. This will give you an idea of how many you actually need. Mine is set to 80 for a college of 10,000 registered students.
Hope that helps
thanks for this. I just tried the status thing on my test server and it worked fine. I tried it on the live server and all I can get is 403 Forbidden, you do not have permission to access /server-status on this server.
All I can think of is my test server only has one virtual host and HTdocs where you would expect it whilst my live server has multiple virtual hosts and I'm pretty sure I've moved HTdocs.
I'll do a bit more battle with it and see how it goes.
Many thanks for the suggestions, hopefully I'll make progress now instead of continuing round the spiral of doom I seem to have got onto.
Thanks
Thanks for posting your own solutions Heather, it really helps when you're searching the forums for a poor sole who has had the problem you are experiencing.
Also, I believe I'm correct in saying that Apache 2.2.8 was writen for Windows, and ported over to Linux, so not so much the second choice of platform. I'm on Windows and working fine. I would rather we'd set up on Linux, but I just don't believe in knocking the OS if it's not the issue. Admittedly, it's usually some lame mule or other from the Macro$oft farm that's to blame!
Sometimes it's better to start from scratch and get a better environment for which Apache is built on and that is on a *Nix platform. Apache on Windows has been known to now function as well as that on the *Nix platform simply because the forking and threading processes are far better in that environment.
If I were you and to keep it simple, just use one of the more popular Linux distributions and it's just a matter of installing Moodle on it and making a copy of your Moodle database (I'm assuming you're using MySQL or Postgres or another?) to the *Nix platform. Isolate the Moodle application from whatever you're running on the same box.
Speaking of ColdFusion, I am also a CF developer and there is also documented issues that if you put in CF and PHP, it does cause instability. Seperate the CF box from the Moodle box is my advice.
Let me know more about your platform, size, Moodle version, authentication methods, database you use, etc. and I can give you some ideas on how to migrate quickly and safely. I feel your pain so this is one of giving back =)
C
We are looking at changing the set up of our moodle (we have 5 on one server with all their MySQL databases on the same server) but we can't make a change that big in the middle of term so it will have to wait for summer. However if we don't do something soon it will become unusable long before summer!
We have no in-house support for Linux (or cold fusion), only Windows. I think we are still considering Linux though for the web aspect and splitting the databases onto their own dedicated server. That gives me a few months for a crash course in Linux.
However we need to tune Apache now before it takes a spectacular nose dive.
Thanks