este é um de uma série de artigos sobre como usar innotop, um monitor MySQL e InnoDB. Neste artigo, explicarei como o innotop pode tornar muito mais fácil coletar informações úteis de SHOW STATUS
e SHOW VARIABLES
em um só lugar. Existem três modos no innotop que fazem isso de maneiras diferentes, então um deles pode atender às suas necessidades.
introdução
a saída de SHOW STATUS
e SHOW VARIABLES
é uma das ferramentas mais úteis para solucionar problemas de um servidor MySQL e ter uma noção de quão bem ele está sendo executado, em que tipo de carga de trabalho está e assim por diante. Caso você não esteja familiarizado com estes, eu recomendo que você leia sobre eles no manual MySQL antes de ler o resto deste artigo. Você obterá mais do artigo se entender quais informações estão por trás dos meus exemplos.
o método mais básico de obter essas variáveis é emitir um comando SHOW
, mas o resultado é bastante certo de ser uma sobrecarga de informações, mesmo se você usar LIKE
para restringir os resultados. Outra coisa que muitas vezes você precisa saber é como os valores mudam ao longo do tempo; quantas varreduras de tabela acontecem por segundo, por exemplo? É difícil comparar os resultados dos comandos SHOW
rapidamente, mas você precisa fazer isso para entender o que está acontecendo no servidor.
a ferramenta clássica para isso é o próprio MySQL mysqladmin
. Você pode executá-lo com os argumentos -i
E -r
para dizer a ele para manter os valores de impressão de vez em quando e imprimir a diferença do último conjunto de valores quando o fizer. Um comando básico para observar variáveis de status pode ser o seguinte:
mysqladmin extended -i10 -r
você pode canalizar isso através de grep
para filtrar os resultados um pouco também.
há claramente muito espaço para melhorias. Incluí três maneiras diferentes de visualizar essas informações com mais facilidade e flexibilidade no innotop, e explicarei as próximas.
método um: modo V
Antes de começarmos: Se ainda não o fez, faça o download e instale o innotop e execute esses exemplos em seu próprio servidor. É muito mais interessante quando você vê como seu próprio servidor está sendo executado. E se você não estiver atualizado para a versão mais recente e melhor do innotop, vale a pena fazer; há muito mais recursos em cada nova versão. Especificamente, vou mostrar alguns recursos disponíveis apenas na versão 0.1.139.
OK, para as coisas boas. Inicie o innotop e mude para o modo V com a tecla “V”. V significa ” variáveis e Status.”Ele exibe uma tabela com uma linha para cada valor escolhido e uma coluna para cada conjunto de valores que você deseja visualizar. Os valores podem ser escolhidos a partir de qualquer coisa que você pode encontrar em SHOW STATUS
ou SHOW VARIABLES
.
deixe-me explicar isso um pouco mais. A coluna mais à esquerda mostra quais valores escolhi exibir. Cada linha tem um valor. À medida que você vai para a direita, você vê os próprios valores. Primeiro você vê os valores mais atuais, depois os anteriores, e assim por diante—até a coluna da extrema direita.
há algumas coisas a notar sobre esta exibição:
- a exibição é incremental. Ou seja, não estou exibindo os valores reais aqui. Estou exibindo a diferença entre instantâneos. Você pode ver que o valor
Uptime
é incrementado em 60 em cada coluna sucessiva. Isso porque eu escolhi um tempo de sono de 60 segundos entre instantâneos. (Eu costumo escolherUptime
como o primeiro valor para que eu possa ver qual intervalo de tempo é exibido). - a coluna da extrema direita não é incremental. Isso porque é o primeiro instantâneo que innotop tem na memória, então não há nada antes para subtrair dele. Além disso, você nem sempre quer saber a diferença entre valores. Às vezes você quer saber o valor em si. Isso fornece uma linha de base para que você possa ver os valores incrementais e absolutos ao mesmo tempo.
- a segunda linha da tela, acima da tabela de valores, mostra as opções de exibição atuais. Você pode ver incremental Está ligado e a média por segundo está desligada. Você pode alternar isso com as teclas” i “e” a”, para que você possa alternar instantaneamente entre várias visualizações nos dados.
- exibição de Número longo Está ligado. Você pode ativá-lo e desativá-lo com a tecla “l” (que é um “L” minúsculo) para uma tela mais compacta.
é uma maneira bastante compacta de olhar para 8 minutos de história para o servidor, você não concorda? Você pode facilmente obter muito mais informações desta exibição do que com os outros métodos que discuti. Mas há mais!
- eu incluo várias opções predefinidas de valores para exibir com innotop. Você pode alternar entre eles com as teclas ” 0 ” a “9”. Existem predefinições para o Cache de consulta, varreduras de tabela e índice, variáveis InnoDB, instruções de transação e muito mais. Ao todo, há espaço para dez conjuntos de valores.
- você pode personalizar cada conjunto com a tecla” c”. Escolha entre qualquer valor em STATUS e variáveis, como eu disse. Isso é salvo em seu arquivo de configuração, então está lá quando você sai e reinicia o innotop.
- você pode escolher o número de instantâneos que deseja exibir, de 2 a 9, para que você possa decidir quanto histórico deseja ver em uma tela.
Método 2: modelado após tload
Outra maneira de monitorar essas variáveis é para desenhar um gráfico no estilo de tload
. A teoria por trás desse modo é que você escolhe alguns valores (com a tecla” c”, como de costume) e innotop escalará a média por segundo dos valores em relação ao máximo que já viu e usará isso para desenhar um gráfico bonito. Você entra no modo gráfico com a tecla” G”.
isso não é exatamente como tload
, porque o gráfico é executado de cima para baixo, não da esquerda para a direita. Ele imprime um cabeçalho periodicamente, incluindo o” valor máximo ” contra o qual está escalando.
na prática, ainda não acertei. Não sei como escalá-lo. Não tenho problemas em fazer as contas, mas escalar contra “o valor máximo já visto” não parece produzir bons resultados. Às vezes resulta em um bom gráfico; outras vezes não. Continuo pensando que deve haver uma boa maneira de calcular a carga real do servidor, para que possa ser gráfica significativamente, mas não consigo pensar nisso. Alguma sugestão?
não estou muito feliz com este modo. Se eu não conseguir descobrir uma maneira de torná-lo mais útil, posso me livrar dessa funcionalidade, embora sejam apenas algumas linhas de código.
Método 3: modelado após vmstat
Meu colega João antecipou que o gráfico não seria útil, para seu crédito, e perguntou-me se eu poderia imitar vmstat
e iostat
em vez de desenhar um gráfico. O resultado é o modo “S”. Ele pode imprimir as mesmas informações que o modo “G”, exceto que imprime valores em vez de um gráfico.
acho que isso é mais útil do que o modo “G”, embora seja um pouco redundante para o modo “V” que demonstrei acima. Como os valores são definidos na tela e o tempo flui de baixo para cima da tela, você pode ajustar menos valores na tela, mas pode visualizar uma janela de tempo mais longa.
Recapitulação dos modos
mostrei a você três modos de innotop tem para monitoramento de status e informações de variáveis a partir de um servidor MySQL:
- “V” modo imprime uma tabela de instantâneos, com muitas opções diferentes.
- o modo”G” tenta imprimir um gráfico, mas nem sempre faz um trabalho muito bom.
- o modo”S” imprime algo semelhante ao modo” V”, mas os dados são dispostos de forma diferente.
os três modos são basicamente maneiras diferentes de olhar para os mesmos valores. Há alguma redundância entre eles, mas porque requer tão pouco código para fazer cada um deles, não me importo com a redundância do ponto de vista da codificação. Não me importo de manter três recursos com funcionalidade semelhante, se der mais maneiras de usar o monitor.
se você tiver alguma sugestão de melhorias, estou esperando para ouvir de você 🙂
Resumo
neste artigo eu expliquei a antiga forma de monitorar a saída de SHOW STATUS
e SHOW VARIABLES
e, em seguida, mostrou como innotop pode fazer isso muito mais rápido e mais fácil, e espero dar-lhe o suficiente diferentes pontos de vista sobre os dados que você pode encontrar um que você gosta.
fique ligado para saber mais sobre innotop; há muito mais a dizer! Você pode se inscrever via feeds ou e-mail para se manter atualizado.