
poderia usar sua ajuda para entender isso. Estou executando uma instância RDS MySQL (db.m3.large em SSD) com 100 GB de armazenamento.
Estou um pouco assustado porque minha memória está 50% lá:
gráfico http://f.cl.ly/items/2130242A0K040E392h0L/10.png
Devo estar fazendo algo errado, porque o servidor não é muito usado neste momento. Aqui está o gráfico das últimas 2 semanas:
Gráfico de uso de 2 semanas http://f.cl.ly/items/2y411W0z0I1V1T0T3O3T/11.png
Como você pode ver, a CPU está principalmente em 0%, as conexões de banco de dados estão baixas e as operações de gravação/leitura também estão baixas.
Eu executo todas as tabelas do InnoDB. A única coisa que vem à mente (que poderia ter aumentado tanto a memória) é meu recurso de análise. Eu tenho uma tabela (fragmentada) que armazena um resumo diário dos cálculos analíticos. Essa tabela tem 4 mediumtext
campos, então mudei o InnoDB para usar o formato de arquivo Barracuda para essa tabela (assim posso ter row_format=compressed
). Esse é o único parâmetro do banco de dados que não é padrão para essa instância (todo o resto está pronto para uso).
Eu nem tenho muitas linhas nessa tabela e a linha maior tem talvez 35kb no máximo por enquanto. Existem 56 linhas para o maior cliente (também não tenho muitos clientes). Portanto, é surpreendente para mim que seja isso que possa estar causando isso...
Você poderia me dar alguma ideia de por que minha memória pode estar tão alta (ou seja, o que eu errei)? É porque o MySQL armazena em cache minhas consultas/resultados analíticos? Ou é outra coisa?
Responder1
Sua dica sobre o que está acontecendo está no gráfico "Memória liberável". Se o seu banco de dados contivesse muitos dados de tabela e dados de índice na memória do processo, esse número seria muito menor do que é. Do jeito que está, o Freeable é quase tão grande quanto o Total.
Funcionando conforme projetado, nada para ver aqui. Por favor defina PANIC = FALSE.