Apologies in advance for the length of this post.
I’m a Moodle newbie, but have a decent background in the field of enterprise systems. I'm working at a large global firm that’s been running Moodle at a modest scale (max 25 concurrent) for the last 12 months. We are now preparing to expand to a broader in-house (and eventually external) audience.
The org has a strong Microsoft-bias and in-house portfolio of common infrastructure services based on Win2K3/IIS6 and MSSQL 2K5. Current deployment (Moodle 1.9.2) is a WISP implementation using FreeTDS. This is adequate for current need, but stress testing reveals a saturation point at less than 80 concurrent. Moodle runs on a dedicated Win 2K3/IIS6 server (4 x 2.7Ghz Xeon, 16Gb RAM), and MSSQL 2K5 on a separate dedicated server (4 x 2.6Ghz AMD Opteron, 8Gb RAM). Scalability seems CPU-bounded on the Moodle server, though intuitively this feels artificial given the not immodest hardware, even without PHP acceleration. Scanning the forums, I see reference to FreeTDS as a potential bottleneck in similar setups, but regrettably there is a profound lack of in-house skill here to perform root-cause analysis and performance optimsation of PHP-based solutions.
In the longer term, we’re likely to consume Moodle as a service from an established hosting provider (likely deployed to LAMP). However, timing will be dictated by the pace of commercial and IT security due-diligence processes, which rarely move quickly here.
This leaves us with an immediate challenge in addressing a forecast usage of 150-200 concurrent users within the next 4-6 months. We’re therefore formulating options to address the next 6-12 months, which currently seem to be:
- Source external skills to urgently conduct root-cause analysis of the scalability ceiling seen in the current WISP setup.
- Migrate from WISP to a WAMP setup, likely running on a single (and quite probably virtual) W2K3 Server for the next 6-12 months.
- Accept 75 concurrent users/server as our basis for capacity planning and scale-out by adding 2-3 more physical (or virtual) W2K3/IIS servers behind a load-balancer.
Looking for any ‘pearls of wisdom’ from you experienced gurus of the Moodle community, in particular from those with battle-scars of WISP deployments, and/or WAMP deployments to virtualised W2K3 servers.