On Thu, May 22, 2008 at 3:43 PM, John Watlington <[EMAIL PROTECTED]> wrote: > That question was asked at the school server presentation > today, by someone from Teaching Matters (IIRC) who knew > of you. They commented that 1GB seemed very low for 100 > students where Moodle was involved.
That's for an untuned setup. Once you get rid of synchronous stuff (moodle-based chat) usage of Moodle is very async (forums, wikis) except for a few cases: - "everyone do this mod/quiz exercise/exam... clock starts counting now!" - everyone download this now - everyone do this mod/scorm exercise now Which are all variations on a theme. The "everyone" above is a group that I assume will max at around 40 (a classroom), so our interesting "simultaneous users" scenarios are in multiples of 40. For moodle and similar webapps, the main problem is apache/php memory footprint, which some back-of-the-envelope numbers say are: - A fixed footprint for PostgreSQL. I'd like to tune Pg to use 10% of phys RAM (~100MB in a 1GB machine). But we might be able to drop that to 5% as we know our data sizes won't be large. (Of course, Pg lean on kernel buffers for indexes and such.) I need to test Pg perf with various tunings there. - Apache/PHP shared mem will be ~5MB, unshared will be anywhere between 12 and 25MB each process. Even with 40 "simultaneous" users logged in, I doubt we'll have more than 20 apache processes busy at any given time (we will need a memory-efficient reverse proxy in front to offload serving to slow clients). Memory *is* tight for the "we all now click on the big red button" scenario, and I'll do some hard-nosed tuning to help cope with that. For normal usage... we're way overpowered. And here I have to agree with jg, a proxy (reverse and fwd) that is smart wrt memory mgmt will save the day. My former colleages @ Catalyst are doing more tuning of Moodle's caching headers, so the reverse proxy can serve more stuff without even looking at Apache. As a side note - many parts of our infrastructure (of _any_ network infrastructure) break in the "we all now click" scenario. In the past, when I had opportunities to do train-the-trainer sessions, I used them to explain how bad that is for network services, and how a little bit of indirection - tell users to "read the instructions and click on the button", for example - staggers the clicks enough that "everything just works". Modern networks aren't built to deal with thundering herds, unfortunately. > I pointed out that you were on the case, and they were mollified. :-) > Out of curiosity, what is the testing procedure for this ? I usually do a mix of - ab on some "heavy" URLs - use jmeter to collect a few real sessions and then replay them on load-test mode cheers, m -- [EMAIL PROTECTED] [EMAIL PROTECTED] -- School Server Architect - ask interesting questions - don't get distracted with shiny stuff - working code first - http://wiki.laptop.org/go/User:Martinlanghoff _______________________________________________ Server-devel mailing list Server-devel@lists.laptop.org http://lists.laptop.org/listinfo/server-devel