The Moodle setup what we have is:
- A virtual server with 3GB RAM, Xeon processor and T1 network connection.
- Single server - Windows 2003/SQL 2005/IIS 6.0/PHP5.2/Free TDS
- The hosted eLearning course is developed using Adobe Flash. Each screen contains text, graphics and audio. The audio duration is approximately 1 min per screen. The learner need to listen to the audio completely before proceeding further
- The cumulative size of each screen (text, graphic, audio) will be approximately 1 MB supported with Flash preloading scripts.
- All users need to complete the course mandatorily within a stipulated time which results in consistent usage of 1000 unique users accessing the course everyday.
- The CPU utilization, database usage were always on intermediate level (approx. 60% usage).
Now, the problems that we are facing now are multifold:
- Lot of users complained about the slowness of the LMS application screens. We have increase the PHP scripts limit from default 10 to 50 but still the improvement is very less to be seen.
- The Flash course screens load very slow or freezes sometimes. However, the course loading issue never appears in non-peak hours where the concurrent users will be only 10s of users.
- The course is SCORM conformant and the SCORM data on completion status is communicated every 30 screens. However, this data is surprisingly missed to register in Moodle's SCORM table during peak hours (100's of concurrent users) though on the course screen it shows as "Completed". Also, the SCORM data consistenly works fine in off-peak hours without any data or session loss.
What could be the problem for missing SCORM data and course/LMS freezing issues?
- Will the addition of more RAM or additional servers be really helpful? If yes, what would be the need for 500 and 1000 concurrent users?
- Will the RAM capacity skips to write the SCORM data by any chance based on peak usage?
Looking for expert advice here from Moodle veterans. Will be able to provide more information, if required.
Thanks in advance!