- Would have 200 maxium concurrent connected users. (not all sending requests at the same time)
- Would use Ubuntu Server 9.10 (with LAMP)
My expects are (principal components)...
- Dual core processor (E5400 - 2.70 GHz)
- 4 GB Ram - 800 MHz (I read 1 GB every 50 users in the Moodle's FAQs page)
Do you think with less than a dual core will this server work fine? (By example, Pentium 4 at 3 GHz...)
What kind of components do you think that would be able to let this webserver working fine?
Also, have the 'HDD rpm (7200 rpm, 5400 rpm...)' and the 'motherboard' an importance referring to the webserver speed / capacity?
Lot of questions, thanks in advance
(and another processor if the budget can run to it...)
Is this server going to run your database too? If so go for the fastest disks you can afford...
All else being the same, a 7200 rpm HDD is 1.3 times faster than a 5400, and a 15000 RPM drive is 2.8 times faster. With one concurrent user, you probably won't be able to see a difference, but the more concurrent users, the more you'll see a difference.
That said, increasing your RAM will have more of an impact than HDD RPM. (Because your machine will access the HDD less often.) So, in my opinion, put the max RAM you can in. For a HDD, get the smallest "seek time" that you can afford.
If you are starting from scratch, get a machine that uses DDR3 RAM memory instead of DDR2. (This not only gets you faster RAM memory, but also usually gets all the connections on the motherboard running at a higher speed also.)
What's really funny is that I saw an E-machine (which has a bad service rep) at Wal-Mart for $450 that had 6 GB of DDR3 RAM, was capable of running in 64bit mode, 60GB SATA HDD (7200 RPM), dual core AMD processor at 2.3 GHz and a 1 Gig ethernet port. This would be a great machine for starting a site to prove the worth of Moodle, and would get you by until you needed true server hardware.
For general guidance, get what you can afford taking into account the following:
RAM the more the better (make sure you know what the motherboard can handle, some max out at 2 GB, some 4 GB, only true servers, or the newest desktop models, support over 4 GB)
RAM: DDR3 > DDR2 > DDR
HDD interface: SCSI > SATA (Serial ATA) > PATA (Parallel ATA)
HDD interface: Raid arrays can be faster (if set up correctly) but at least double the number of HDDs needed, and require a controller, and expertise.
HDD: The lower seek time the better. And the lower read/write speed the better.
64 bit capable motherboard better than a 32 bit motherboard.
64 bit OS better than a 32 bit OS (but only if the motherboard can run it, else it doesn't run at all)
Processor: 64 bit better than 32 bit (Some motherboards can have either the 32 bit or 64 bit processor. Bummer to get a mismatch.)
Finally, if you have the ability to scrounge an old server, that can be better than a new desktop. If I could find a dual processor server running at 1 GHz, with 10 GB of RAM, and 4 SCSI HDD at 7200 RPM on a RAID array, I'd take it over a desktop running at 2.3 GHz, with 4 GB of RAM, 1500 RPM SATA HDD.
Hope this helps, but for seeing which machine is the best, you might want to talk to your local gamer. They understand the hardware issues you are asking.
You really helped me.
With 700+ kbps of upload speed (700 - 800), would I be able to set up a webserver with moodle?
How much concurrent users would give this connection?
Thanks in advance.
The typical home user in the west has a couple of mbps at his disposal. I don't know how much bandwidth is needed to keep him happy. Even at a low estimate like 1 mbps, 700+ kbps is hardly enough for a single user!
The answer to your question has a lot to do with the student's expectations. We're in a similar situation, testing a LAMP 197 server which will get moved to the math dept just ahead of the autumn semester. We're currently at the end of an AT&T DSL connection - 3mbps down, 512k up; and to get a sense of what the server is capable of we hired almost 3 dozen Moodle familiar students (actually 35) and asked them to run through the 3 courses already on the server - we ask them to work against the courses anytime that was convenient, but asked them to especially try to be on btwn 7 and 9pm. The response has been quite positive. Since the school is a community college, there are no dorms, or importantly, students expecting or used to 100mbps or 1 gig bandwidth, ie, everyone accesses the brand A lms via the school's T-3 connection. The students that have been accessing our 197 have been commenting that they wish they'd have the same responsiveness with the school's server; for the 7-9pm accesses, the response time actually stays good (ie, 1-2 sec) as long as no-one is downloading a 5mb tutorial movie - then things slow down. The worse we've heard of is 30 secs to get a reply back. We've been pleasantly surprised. But in fact if one thinks about it: 500kbps is (approx) 50kbytes/sec, and when the average course page is 4-10kb and the average Moodle page is likewise (or less), subsecond response makes sense [locally here on a 100mbps network, 100ms responses are common]. The downside to this experiment is that: we hired the students hoping to load the server and see how it performed under at least moderate loads. So far we haven't seen anything resembling a load, ie, the single bottleneck by far has been the connection. [The server is much like what you're talking about: an asrock 785gxm mobo, 8gb ddr2-800 ram, amd 3.1ghz dualcore athlon, 3x raid-1 3gbs 250gb sata drives, driving Ubuntu 9.10 server, Apache2, and significantly 196MB allocated to APC, mysql with big buffers and memcached. So... in summary: the answer again, has to do with what your courses look like (bytes downloaded per page) and what your students expect in terms of response times. Personally, I'd give your setup a try, document what you see, and go from there.
hope that helps - greg
Thanks for the write-up!
Quite a bit of information there! If I understand right, you have a powerful server behind a slow connection.
a) Considering the slow connection you are postively surprised.
I can only wish, the rest of the world consume bandwidth rationally like your people!
b) The server itself was never really tested.
Doesn't surprise me, there was a serious bottleneck in front, the upload speed of 512 kbps! You have test the server in a 100 Mbps LAN!