Estamos usando AWS-RDS. A seguir está a captura de tela de como o uso do disco de log binário variou nas últimas 6 semanas.
O período de retenção de log é de 3 dias. As tabelas são otimizadas e arquivadas uma vez por semana. Esperávamos que o BinLogDiskUsage fosse quase constante (assumindo a limpeza periódica de logs pela AWS) com picos durante as tarefas de arquivamento.
Alguém pode explicar essa natureza ondulada do gráfico?
(Resposta prolixa, mas incompleta)
O gráfico se move para cima e para baixo de forma bastante suave. Isso me intrigou. Com seus números mais recentes, posso explicar um pouco do que está acontecendo.
Os dados são gravados no log binário até exceder
max_binlog_size
(128M, no seu caso). Nesse ponto, um novo arquivo binlog é criado.O(s) escravo(s) extrai os dados dos logs binários continuamente e geralmente os mantém atualizados. Não há, no entanto, nenhum feedback para informar ao Mestre quando todos os Escravos terminaram com um arquivo binlog. Então, em vez disso, existe algum outro mecanismo para excluir logs binários antigos.
Com
expire_logs_days
(3 no seu caso), os arquivos de log binário com mais de tantos dias serão excluídos.Normalmente, seus 2 GB (1447 * 1396626) ocupariam cerca de 16 arquivos de log binário (que /134217728). E o gráfico mostraria quedas distintas de 128 MB de vez em quando.
A única coisa em que consigo pensar para levar a 1447 binlogs em vez de 16 são
PURGE
comandos espúrios. Por favor, execute estes:O quociente dirá quantas purgas por segundo. Normalmente, isso será próximo de zero. Mas seu sistema parece ter vários por hora. Então, converti o gráfico misterioso em "Por que está
PURGE
sendo executado com tanta frequência".(Consulte http://mysql.rjweb.org/doc.php/mysql_analysis#tuning se desejar uma análise mais profunda de
STATUS
eVARIABLES
.)Mais
1447 binlogs com
purge_logs_days_seconds = 500
(5 minutos). Isso diz que geralmente há 1 ou 2 binlogs sendo limpos a cada vez. O gráfico mostra um padrão semanal . Uma parte da semana é bastante ocupada - adicionando muito aos logs binários enquanto limpa os arquivos de 3 dias que têm muito menos. Isso faz o gráfico subir. Idem para baixo. Flat diz que você está adicionando na mesma taxa que está excluindo.Eu diria que houve uma calmaria no trânsito, ou um feriado nacional, durante a última semana de maio?
Ainda há contradições nos poucos dados que você forneceu. 1447 e purgar após 3 dias diria um intervalo de 3 minutos, não 12/hora. Ou 5 dias, não 3. Além disso, o tamanho máximo do log binário de 70 MB (de 128 MB no máximo) implicaria que um ciclo de limpeza nunca limpa mais de 1 arquivo.
O sistema tem um ritmo; nada parece terrivelmente errado.