Posts made by Usman Asar

Claudionir, which version of PHP have you downloaded? 32-bit or 64-bit? also Thread Safe or Non-Thread safe? ken has mentioned using 64-bit, and he's right not just in terms of memory limit, but PHP application performance as well. I had created a tutorial in past on 2012R2, but still applies on server 2019, you can have a look here. You may want to have a look at it before using it in production environment.
Tien, adding more RAM to one CPU and leaving other will lesser wont work, as it's not just the RAM, you have to consider CPU L1/L2/L3 cache's as well, as RAM can be increased and decreased, what will you do with cache's?

Keep memory mode to Normal, as others (Mirroring and Sparing) are for mission critical circumstances, Memory mirroring is as same as creating RAID 1 on storage, and in Sparing mode, one stick will be left spare until other memory module fails and spare will take over (memory level redundancy). but NUMA Enabled and Disabled is something that can work, so naturally you will set NUMA to be Disabled.

When I mentioned interleave, every server manufacturer has different BIOS options, where Fujitsu has enable/disable option, it should work.

As you'll be adding RAM, make sure all modules match and they are in correct banks, as I have seen buffoons from Dell sending servers with memory installed in wrong banks. there must be two colored banks, start populating the ones closest to CPU (e.g. if black one is nearest to CPU, then populate all black ones on either sides, unless every bank is populated in your machine. secondly all modules MUST match in terms of speed and latency.

Lastly, you mentioned having additional slots on server, are you referring to SATA connections or PCI slots? though SATA SSD's will work, but if you can add additional NVMe RAID card just for Database and rather than choosing SATA, get NVMe drives and keep database on that. The E5 platform unfortunately is not capable of booting through NVMe protocol drives, else I would have recommended NVMe boot drive and database, as SATA has latency of 30-100 microseconds while NVMe has just a few microseconds, and in database application latency does play its role.

Just to keep you informed, why I recommended moodledata on HDD's (so in case you have to justify your institute or have knowledge of what and why you're doing), when cron runs and your courses are backed up, it's moodledata folder that gets temporary copies made of the backups before saving it at your desired location, so for example if your courses are for 100GB, it will be writing 100GB of data on drive before creating backup file, and doing it everyday means by month end you'll have written approximately 3000GB (3TB approx) data already, SSD drives have a downside of number of writes, a standard SSD has life of 200TBW (Terabytes Written), datacentre SSD's (which you'll be getting) have much higher TBW's, but in the end they have life, so I recommended moodledata folder on HDD's so your drives can last longer. BUT do remember to route temp and cache folders from moodledata to SSD drives (due to latency). 
Average of ratings: Useful (1)
Tien, you hadn't mentioned before having 2S platform,  though E5 comes in 2S scalability but not all servers with dual CPU sockets make use of that and instead uses a terminator CPU on 2nd socket for future upgrade. for your dual socket system, NUMA just entered the picture complicating the architecture of how a CPU talk to the RAM.

let me explain in easier way, on a dual/quad socket system, each CPU is allocated with its set of memory, by default O/S gets priority to use first CPU and its RAM, and if there is enough headroom then rest of the programs (say MariaDB) will be allocated space from first CPU's RAM and then once its full, rest to second CPU's RAM and so on, now if O/S has to allocate something and its running out of space on first CPU's RAM, what it will do is, swap out MariaDB's RAM allocation to 2nd CPU - This is where latency tax penalty comes in.

Now it depends on your BIOS, see if there is setting of RAM allocation, set it to "interleave" <<-- this is one way and will prevent premature swapping of database to 2nd CPU's RAM. Other possible way to counteract is turning NUMA Off all together if the O/S allows this. As far as I know, older MySQL/MariaDB required configuration in their conf files to set processor affinity, newer versions MAY have this settings in built to sense NUMA and configure itself for that architecture. You can read about it more at this MariaDB page HERE. I am afraid I am not database guru to assist in this further, Ken Task may step in to assist further.

As for your clients to use local traffic rather than internet, I am not sure how to set it at hardware level (i.e switches, routers etc - excuse my limited knowledge of networking) but one way is to set host file pointing domain to local IP, so you'll be adding this entry to your host file

www.mymoodle.com  192.168.2.100 <--- this will be your local IP allocated to the moodle server.
Average of ratings: Useful (1)
In between a single box and a cluster, you can always setup 2 box solution of web/application server and database server.
and on high availability cluster (I haven't mentioned earlier), you will be requiring at least 6 servers.

2 for ARR and NLB combined
2 web servers
2 database servers in Master/Slave configuration

so 1 server from each category going down is allowable for system to be operational. How many users a cluster like this can handle entirely depends on the hardware specifications of the servers.