Qual é a melhor maneira de diagnosticar e perfil MySQL no servidor de produção ao vivo?
-
03-07-2019 - |
Pergunta
Quais ferramentas/métodos você recomenda para diagnosticar e perfil MySQL no servidor de produção ao vivo?
Meu objetivo de testar maneiras alternativas de dimensionar o sistema e ver sua influência no tempo de leitura/gravação, memória, carga da CPU, acesso ao disco etc. e para encontrar gargalos.
Solução
Primeiro de tudo, você deve configurar algum tipo de monitoramento com por exemplo:
- Monitor MySQL Enterprise
- Monyog
- Cacti (gratuitamente)
- Munin (gratuitamente)
- Relatório de atividade MySQL (gratuitamente)
Outras ferramentas úteis: mytop Innotop mtop Maatkit
Adicional, você deve ativar o registro querras lentas em seu meu.cnf.
Para você começar a sintonizar/alterar os parâmetros, você deve criar algum tipo de plano de teste e comparar os resultados antes/depois para ver se suas alterações fizeram sentido ou não.
Outras dicas
Isso é algo em que trabalhei bastante.
Monyog - Serviço de monitoramento MySQL. Usamos isso na produção. Não é gratuito, mas possui muitos recursos, incluindo alertas e dados históricos.
Monitor MySQL Enterprise - Disponível com o MySQL Enterprise (ou seja, não barato)
Role o seu próprio!
Sobre o rolo sua própria opção:
Na verdade, desenvolvemos um aplicativo de monitoramento muito legal que usa Ferramenta RRD (usado pelo MRTG comum) e uma combinação de estatísticas MySQL e estatísticas do sistema, como o iostat. Este não foi apenas um ótimo exercício, mas nos deu uma tonelada de flexibilidade para monitorar exatamente o que queremos de uma única interface.
Aqui está um Descrição breve de algumas abordagens para construir suas próprias estatísticas.
Uma de nossas grandes motivações para rolar a nossa, mesmo que também usássemos o Monyog, era rastrear as estatísticas do disco. A E/S de disco pode ser um grande gargalo, e os sistemas de monitoramento MySQL padrão não possuem monitoramento de E/S. Nós usamos iostat que faz parte do Systat pacote.
Temos uma interface que exibe gráficos das estatísticas MySQL ao lado das estatísticas de E/S de disco, permitindo -nos realmente obter uma imagem geral de como a carga MySQL está afetando a E/S do disco.
Antes disso, realmente não tínhamos idéia de por que nossos aplicativos de produção estavam ficando atolados. Descobrimos que a E/S do disco era um problema importante e que o MySQL estava criando muitas tabelas temporárias no disco quando estávamos executando consultas complexas. Conseguimos otimizar nossas consultas e melhorar drasticamente o desempenho do disco.
Jet Profiler com certeza
Adicionar também à lista: RHQ 4 (código aberto) - http://rhq-project.org/
Vote http://tinyurl.com/vote-gif adicionado a lista:
- Maatkit
- DBFORGE Studio para MySQL
- Jet Profiler