Olá a todos. Nesta quinta e última serie de posts relacionados a performance, falarei um pouco sobre algumas ferramentas e analises a serem feitas para diagnosticar problemas a nível de sistema operacional.
Creio que todo o DBA já deva ter passado por uma situação parecida com essa: O ambiente de produção está incrivelmente lento, ninguém consegue fazer nenhuma operação, por mais simples que seja no servidor… logo os usuários e a gerência põem a culpe, sem nenhuma analise ou algo parecido, no banco de dados e por consequência nos DBAs. Depois de uma analise rápida em conjunto do os administradores de sistema, descobre-se que alguém estava compactanco um arquivo de 100GBs, consuminto todo o poder de processamento do servidor. Eu já passei por isso, e garanto que boa parte dos DBAs também já.
Todas as ferramentas listadas abaixo foram testadas nas distros derivadas no Red Hat, como Oracle Linux e CentOS. Mencionarei também algumas ferramentas de analise para ambientes Solaris.
1) COMANDOS ÚTEIS
1.1) ANALISANDO CONSUMO DE CPU
Dentre as ferramentas mais comuns de mensuração de uso de CPU, estão:
- top
- vmstat
- htop
- prstat (Solaris)
A minha favorita para realizar analises iniciais é o “top” por já sr um padrão em todas as distros derivadas do Red Hat. Também já tive a oportunidade, e fortemente recomendo, a instalação da ferramenta htop, que mostra de uma maneira bem mais amigável o consumo de CPU, detalhando os principais processos consumidores. Exemplos de uso do top:
Também pode ser útil usar a ferramenta mpstat (requer o pacote sysstat). Ela pode mostrar o consumo geral por processador. Exemplos:
Por fim, a nível de Linux, pode-se usar o “pidstat” para obter detalhes de consumo de CPU, por processo
A nível de Solaris, pode-se usar a ferramenta prstat, que equivale ao top do Linux. Exemplos
1.2) ANALISANDO PROCESSOS CONSUMIDORES
Para analisar o consumo dos processos, pode-se usar a ferramenta “ps”, bem como o “top”, acima mencionado. Ex:
Em se tratando de Solaris, é possível usar o prstat com a opção -a. Ex:
1.3) ANALISANDO O CONSUMO DE MEMÓRIA
Para analisar o consumo de memória do ambiente, podemos usar as ferramentas “vmstat” (tanto para Linux quanto para Solaris) e o “free” (Linux). Ex:
1.4) ANALISANDO O CONSUMO DE I/O
Podemos usar as ferramentas “sar” e “iostat” (ambas existem para Linux e Solaris) para monitorar a atividade de I/O no ambiente. Ex:
OBS1: tps indica o número de transferencias por segundo de um dispositivo físico, onde uma transferencia é uma requisição de I/O a um dispositivo físico
OBS2: rtps e wtps indicam o número de requisições lidas (r) e escritas(w) em um dispositivo físico
1.5) ANALISANDO O CONSUMO DE REDE
Para analisar o tráfego de rede, podemos usar o “nestat”. Ex:
É isso ai pessoal, com esse post eu encerro a série relacionada a Performance Tuning. Espero que os leitores tenham gostado do que foi exposto e como foi exposto. Quaisquer críticas e sujestões são mais do que bem vindas.
Até a próxima série de posts.
Keep Tuning.
Boa Noite,
Gosto muito do seu blog, também vale a pena ressaltar o iotop (para monitor o uso de IO do sistema mais amigável), também fazer alguns testes com dd de escrita e leitura, e por fim também podemos ajustar o nodiratime, noatime no fstab para diminuir o consumo de IO, outra dica legal é o aumentar a quantidade de arquivos que o kernel pode abrir sysctl -w fs.file-max=65536 .
Forte Abraço!!!