Basic Newbie Question

Basic Newbie Question

by Richard MacLemale -
Number of replies: 8
I'm trying to grasp some basic concepts here, so please don't laugh too hard.

From what I've read here, many large Moodle sites use some type of virtual server farm or round robin DNS setup with multiple boxes, and then a separate database server.

If you have a setup with multiple boxes, do you just take your Moodle site and duplicate it exactly on each box, with all of them pointed to the same MySQL database? Or is it more complicated than that?




Average of ratings: -
In reply to Richard MacLemale

Re: Basic Newbie Question

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
That is basically all there is to it.

The only other thing is to move the moodledata folder to a shared drive. As well as all the web servers sharing one database, they all have to share the same moodledata folder. There are various ways to do that, SAN, NAS or nfs, but I don't know much about that.
In reply to Tim Hunt

Re: Basic Newbie Question

by Richard MacLemale -
Thanks, Tim! That certainly makes it easier. We can share the folder via nfs.
In reply to Richard MacLemale

Re: Basic Newbie Question

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
@RM

Was the question that simple?

I thought you are going for multiple boxes because a single box could not deliver what you need?

Questions: About the numbers. What is the load you need? How much can your presend single box deliver?

About the multiple boxes. One is going to be a seperate databaser server. There is no problem with that. What are the other boxes? Webservers? HTTP-(reverse)Proxys? How do they share the load? What is the projected peak load?

As already pointed out, many identical Moodle installations can share a single moodledata location. There are so many technologies available, your question will be on its performance.
In reply to Visvanath Ratnaweera

Re: Basic Newbie Question

by Richard MacLemale -
Yup, my question really was that simple. I've got no shortage of opinions around my district when it comes to setting up multiple web boxes - virtual server, round robin DNS, multiple instances of apache, and so on and so forth. I'll have to choose a technology but there are guys here who can help with that. What I needed to know was what I actually had to do to Moodle, if anything, to pull it off. My current plan is to host the site and the files on one box and MySQL on a second box, and then when the web traffic gets too heavy, add a second web box, maybe a third.

Right now we've got a lot of Moodle sites (about 70) all on one box. Performance has been fantastic, but as more and more people use it, I'm envisioning we're going to blow it up.
In reply to Richard MacLemale

Re: Basic Newbie Question

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi

> My current plan is to host the site and the files on one box and MySQL on a second box,

That is straight forward. You might want to connect the backend database server through an internal network interface.

> and then when the web traffic gets too heavy, add a second web box, maybe a third.

Here come all the technologies you've mentioned. What is the architecure you have in mind? [BTW, I wouldn't call this a "Basic Newbie Question" ;-( ]

> Right now we've got a lot of Moodle sites (about 70) all on one box.

Can you describe, how you did it? This is a common question here.
In reply to Visvanath Ratnaweera

Re: Basic Newbie Question

by Richard MacLemale -
To create the multiple sites, I made a separate directory for each site. Inside each directory I put a moodledata folder and a Documents folder (where the moodle install actually goes. Each install was named after the school initials. Then I did an alias for Apache to point to the site.

So the actual path on the server might be:
/Library/WebServer/WebSite-chs/Documents/

And the alias points /chs to the actual path, so the URL would be:
http://ourserver/chs

Works extremely well. But as traffic increases, we need a plan to add more capacity. So I'm in the inital stages of looking at different options. I don't have a plan yet... just gathering info.

To some folks, yes, this isn't really a newbie question/scenario... but some of the guys on here are hardcore computer scientists, and I'm an amatuer who has learned by trying stuff out and reading whatever I can! smile
In reply to Richard MacLemale

Re: Basic Newbie Question

by Marc Grober -
With all the discussion about mysql, perhaps an initial option would be to set up multiple mysql instances and point the web instances to additional boxes (do you have all your moodle instances using the same db or multiple dbs?)

The underlying question, with respect to which I am as much in the dark as you, is how badly mysql seems to get slammed by Moodle
In reply to Marc Grober

Re: Basic Newbie Question

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Most of the performance numbers I have seen in these forums indicate that most of the load with Moodle is on the web server. So when scaling up, the first thing to do is to buy more web server. Then can all share the same database server, initially.