The mysql server on the same machine? What's the "original Moodle site", moodle.org??
im running moodle on a PIII 800, and when we have around 80 students accessing at the same time, mysql and apache hammer the cpu to full utilisation. at 100 - 120 simultaneous users, apache stops responding.
Do you think this is normal? or something can be done about my configuration? I'm assuming when you say 150 students above that you are not meaning 150 simultaneous users...
"80 (or 100-120) students accessing at the same time"
How many students is this totaly ? (I guess 80 simultanius acceses means more than 80 simultanious logged on users ??)
- in Apache httpd.conf change max clients from the default of 150 to 1000 or something like that. Also look around for other "max" settings such as max connections, etc. and increase those values.
- in MySQL you need to change the default max_connections to a higher value. Mine was set at 100, way too low. Here is the comment from my programmer friend...
(when you start mysql, you can use some option parameters.
e.g. # /usr/local/mysql/bin/safe_mysqld --user=mysql
Server experts, any more suggestions for large numbers of simultaneous users?
I think this general question, the size and the recourses required for a server to a Moodle installation will depend a lot of how you make your Moodle implementation.
I would believe that the general question will not be how many users you will have but how much data traffic these users will make. I think that the key information here would be a. the number of hits b. the number of database access c. the volume of data that is stored d. the amount of data that is transferred.
Depending of the way you are making your Moodle implementation to your overall "learning system" the load on the server might vary with a factor of 1000, I would believe.
If you are comparing the server load of Moodle with the server load that will come as a result of the use of some other learning management systems you are actually not comparing basicly two learning management systems, you are more comparing two different underlaying basic technologies, I would believe.
So if Moodle is using the "lamp" (Linux, Apache, Mysql, PHP) and the other learning management system is running on typical Microsoft server software you would actually not compare to learning management systems, but generally and commonly used open source server software with similarly commercial server software.
From a technical point of view, I think Moodle can be said often to be a set of PHP scripts running on an Apache Web server against a Mysql database and on a Linux server. Normally this technical "arrangement" should consume less server resources than similar server software form Microsoft, I would believe.
On the other hand Moodle or any other PHP and Mysql implementation should not be able to consume less server demand, than that load that will follow as the result of the "trafic" the use of the underlaying technologies.
But then there is a rather important factor, I believe, the way you are making your Moodle implementation. You might let Moodle handle only 0,1 persent key information related to your course, the number of hits and the amount of data per day and per student will be very low, or you can as the other extreme make a Moodle implementation where all datas and all communication will pass trough Moodle using a high degree of user interactivity.
So I would believe that a Moodle implementation can be done in such a way that the server load might vary as much as with a factor of 1000. With other words using two different implementation models, with one implementation model 1 user might consume the same amount of server load as 1000 users in the other implementation model.
In the one way of using Moodle, it might only contain a few set of key information for your course, in the other way it might contain all information with a high degree of interactivity. The one implementation model would possibly produce a few hits and a few kilobytes of datatransfer per day per student. The other might produce thousands of hits and megabytes of datatransfer.
I would believe that the general question "how big server will I need" can only be answered with some other questions like: "What kind of underlaying server software will you use ?" and "how server intensive will your Moodle implementation be ?"
I think that the only real way to find it out will be to try it out in the real world.
You could try step by step to increase the number of students, or you could also as an alternative try to increase "step by step" the method, how you make your Moodle implementation.
If it is produces a huge number of hits and transfer huge amounts of data on regularly basis it will be server intensive and server demanding. If your Moodle implementation on the other hand only will contain some key information that in practical life would produce a few hits per day and some kilobytes of datatransfer, it might not require much server resources.
I believe that 150 users, that could in the one extreme end mean the same as 150 users working against the same server at the same time, simultaneous, with a high degree of interactivity, or it could mean just a few hits per day.
I think that also a less demanding, when it comes to technical server resources, also can ha very positive effect on your "over all learning system", while on the other hand it might be possible to make rather server consuming implementations that will not be a really important part of your "over all learning system".
I think the freedom of selecting different implementation models of Moodle is a strengt and not a weakness of Moodle for a lot of reasons. Server load and the cost of running and dayly operations is one major factor. Totall implementation cost might be an other factor.
According to my point of view a effective Moodle implementation can be made based and rather few work hours and in such a way that it will consume only small resources on a server.
The key factor I believe will be to consider Moodle not to be something that exist "alone and by itself". It should rather be considered and evaluated as a part of a whole and complete "learning system". Moving some of the "dataflows" from "the inside of Moodle" to the "outside of Moodle" (or any other learning management systems) might not allways be a disadvantage.
I think Moodle can be regarded as a "tool", in this case a tool for learning. The amount of noise and and the energy that is consumed by a hammer might not alvays be proportional to the amount of work that is performed by the same hammer.
Also I think that the "learning management system" is one thing. "The learning system" as a whole is something else. So the key factor should be to try to implement the best as possible "learning mangement system" to the best as possible "learning system".
If the "learning management system" and the "learning system" should apear to be the same thing, this should be one of the ways that Moodle can be implemented and used.