We need someone help with experience with clustered Moodle to help us optimize current resources as it seems that we are currently hitting some unknown bottleneck.
For now it looks like that most of the troubles are caused at NFS.
It looks like request are waiting for file locks at shared /moodledata/sessions folder even if redis is set as session storage. Is this normal behaviour, that session file is even created when in config.php is set:
$CFG->session_handler_class = '\core\session\redis';
I have to mention that we are exclusively using Shibboleth SP for authentication, where every web node has its shibd instance and we use session Cookie-Based Session Recovery (https://wiki.shibboleth.net/confluence/display/SP3/Clustering) .
Some information from our clustered instance:
Moodle DB size: 92G
Moodledata size: 800G
Loadbalancing: BIG-IP F5
OS on all machines: CentOS 7.7.1908
- 2xCPU (10 cores),
- 256GB memory,
- 2x800GB NVMe
- sql server: mariadb 10.0.38
- redis server: 3.2
- 2xCPU(10 cores)
- 128GB memory
- 2x200GB SSD
- Apache with mod_ssl
- PHP version: 7.1.33
- Apache: 2.4.6
- Caching: Redis
- Shibboleth 3.04
NFS host (for sharing Moodledata between webnodes):
- 2xCPU (10 cores)
- 256GB memory
- 12TB RAID6 SSD pool for storage
We can provide more technical details and informations from our monitoring systems and traces if needed.