This is my first year administering our Moodle site. I am not a database guy but trying to learn as much as possible. We have had a few hiccups this year but are working them out. Right now is semester test time of course and are having quite a bit of slowness users not able to login. Looking for help or things to look at on our MySQL database to see if everything is setup the way it should be or if there are some tweaks that could help. Trying to find where the bottleneck is if there is one. I am using MySQL Workbench to monitor our MYSQL server. It seems once we reach above 300 client connections it starts getting slow. Server resources are 92-100%CPU and using around 68GB of 320GB Memory when slow. Using about 30% of our internet connection. We have anywhere from 3000 - 8000 logins per day with a little over 100 courses on it.
All Moodle Data, Website, Database on this server:
Database and Website on same drive, Moodle Data folder on separate drive
Windows 2012 R2 64bit
Processor - 2 Intel Xeon E5-2643 v3 3.40GHz
Hard Drives - RAID 10 - 8TB 7.2K Drives , PHP is running on a single SSD drive. Moodle and PHP cache are pointed to it as well.
Moodle 3.3.1+ Build 20170824
Some info from my.ini file (let me know if there are other values that would help to see)
max_connections = 800
innodb_log_buffer_size = 16M
innodb_buffer_pool_size = 100G
PHP Info - (let me know if there are other values that would help to see)
memory_limit = 512M
mysqli.max_persistent = -1
mysqli.allow_persistent = Off
mysqli.cache_size = 2000
mysqli.max_links = -1
Any help would be very much appreciated!
Are you running PHP OPCache? Would be interested to see those settings.
We are currently not running OPCache. In previous versions we were running WinCache and I was about to work on getting it going on this server once this semester is over (end of next week). Thanks
wincache not offically supported beyond moodle 3, we are sticking with just php opcache.
otherwise your hardware, software and settings look great. we have 100-400 concurrent users , windows 2008 and lower specs and its working really well on Moodle 3.3, php 7.1. we have the web and database on separate servers.
Disabling plugins one at a time, or disabling them all and adding them back one at a time is a good strategy to find a potential culprit as well, most of my issues over the years have been plugin related.
f12 and Network traffic tab in a browser is another easy way to find bottlenecks.