Bruno,
Para analisar a carga de acesso sazonal no banco de dados, sugiro efetuar os seguintes procedimentos:
a) Monitorar os picos de acesso fazendo levantamento de quantidade de usuários que estavam navegando no Moodle exatamente no momento do pico do banco de dados. Isso você pode rastrear no banco executando os seguintes comandos SQL:
Listar usuários online no Moodle (SQL)
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=470&parent=566
Você pode realizar essa mesma consulta no plugin MReport pelos seguintes relatórios:
- Acesso recente - Relatório que lista usuários que estão online nos últimos 20 minutos. Há possibilidade de parametrizar a data. Tirando a data dinâmica, colocando a data estática filtrando por dia, hora e minuto. Esse relatório fica em Usuário/Acesso recente
- Acesso único por usuário é um outro relatório que dá resultado similar. Neste caso precisa mudar filtro de data dinâmica para estática. Além, disso tirar filtro ação que vem configurado por padrão para mapear login. Veja um tutorial desse relatório no link https://comunidade.badiu.com.br/mod/forum/discuss.php?d=555
Os duas opções de relatório do MReport empregam o mesmo comando SQL abordado no primeiro link. Se a quantidade de usuários online no momento do pico não justifica, neste caso, é necessário monitorar o cron que é um grande vilão no consumo de processo. No item b) abordo isso.
b) O cron do Moodle muitas vezes eleva o consumo de banco de dados e processamento mesmo não tendo alunos navegando no Moodle. Neste caso é necessário analisar se o período de pico corresponde com o intervalo de processamento do cron. Se sim, entre no gerenciado de tarefas agendadas, mude horário de processamento das tarefas ou desativa as tarefas que não são usadas. Uma outra alternativa é colocar tempo de execução do cron menor, algo como 5 minutos. Assim a carga fica melhor distribuída. Também é necessário analisar o log gerado pelo cron via relatório de acesso. Basta fazer filtro na opção origem, selecionar valor CLI. Essa opção tem no relatório padrão do Moodle e também no MReport.
Observação
Para mapear diretamente no banco pelo log, quantidade de registros processados simultaneamente, execute o comando SQL a seguir:
Rastrear sobrecarga do Moodle pelo log banco de dados com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=315