The specs are:
2 Quad-Core Intel Xeon Processors
5GB of RAM
2 450GB SAS Drives
My question is this. Do you think that removing one of the Quad-Core Processors would be a mistake. I'm trying to get the price down a little (economic times are tough).
Any information would be appreciated.
It would not be a big issue at all to remove one of the quadcore processors. It is probably an artifact of MySQL tuning, but our site (50k users) performs much better with fewer fast processors (~3GHz) than many more slower processors (800 MHz slower) up to a certain point. I would also suggest to invest some of those savings into more RAM.
Also, you can purchase another identical processor in a few months when the price has decreased (with the release of the Nehalem Xeons) to more sensible levels.
We actually will have possibly 200 simultaneous users since we use BB now for campus surveys, placement tests, etc. So if anyone else out there is thinking of a new server, they may want to keep things like that in mind.
No idea as we haven't load tested and pushed it (or rather an identical backup system) to the limit yet. I just took a look over a few minutes and there are between 8 to 15 simultaneous users (different IP addresses who requested something at the same exact time to the second). It's currently around 1PM and very few students are in Moodle since they're in class.
There are various definitions for concurrent users, so you can extrapolate the figure for that out of my simultaneous user range.
Do you guys have any performance issues? (I'd think not with 16 core :S)
Also, can you tell me do students generally login in all at the same time (ie. classes start at 8 or something similar to that)?
I'm curious because I'm trying to gauge a feel for scalability compared to another LMS I've used in the Palm Beach School district. The system was written with Java and Spring but, I'm thinking PHP can handle the load no problem which will throw out the argument that PHP can't scale.
Not necessarily. See:
Good articles however the biggest issue with many core systems, even with the Nehalem and Opterons, is memory bandwidth limits. Our Xeons were still built n the 'front-side bus for memory communication' designs which scales poorly and has much less memory bandwidth, which means you cannot fully use all 16 cores.
I'd suggest not exceeding the 8 core limit per server as the other ones may be wasted. Also, if I remember correctly, pre-MySQL 5.1 versions do no scale well past 6-8 threads, even if those threads are running on 1 processor or 8 processors. This was due to implementation issues.
the problem is not the operating systems, it's the applications. If your apps are not parallelized (either with via multiple threads or processes), having more cores buys you nothing.
But Apache and MySQL are already highly parallelized, so you should benefit from more cores (up to your memory or I/O bus bandwith limits, as Elvedin points out).
The Moodle install I'm working on is used by a university, so student logins happen at all times of the day.
We had an issue while we still used MyISAM and somehow the (Moodle) internal cache was turned off. A few dozens users logged into one course for a demonstration and the server became unresponsive for them. Don't know how the interal cache got disabled, but enabling it returned the server to good performance. We're evaluting several load balancing designs which will most likely employ eAccelerator instead of memcached for easing the load on the database server.
For those who think Java will scale better than PHP do not know much about either. Actually, PHP has quite a lot more support (and experimentation) for scalability than Java for web sites/applications.