Sobes.tech
Middle+

Como irá proceder ao procedimento de resolução de problemas no servidor em caso de alta carga? Quais os indicadores irá analisar e que utilitários irá usar?

sobes.tech IA

Resposta da IA

Começarei por analisar as métricas do sistema para identificar as causas de alta carga.

Indicadores principais para análise:

  • load average: número médio de processos à espera de execução. Um valor alto indica sobrecarga da CPU ou espera de entrada/saída.
  • CPU utilization: percentagem de uso do tempo de CPU. Permite entender qual parte da CPU está ocupada por processos de utilizador, chamadas ao sistema ou inativa.
  • Memory utilization: uso da memória RAM. Um consumo elevado pode levar a swapping ativo, o que reduz significativamente o desempenho.
  • Disk I/O: intensidade de operações de leitura/gravação nos discos. Uma atividade elevada pode ser um gargalo.
  • Network activity: tráfego de saída e entrada, número de conexões de rede. Uma carga elevada pode ser causada por problemas de rede ou ataques DoS.
  • Process list: lista de processos em execução, seu consumo de recursos, estado. Ajuda a identificar processos específicos que geram carga.

Utilidades para diagnóstico:

  • top / htop: Monitoramento interativo de recursos do sistema e processos em tempo real. Permite ordenar processos por consumo de CPU, memória, etc.

    # top -c // exibição da linha de comando completa
    
  • vmstat: Relatório de memória virtual, processos, CPU e atividade de entrada/saída.

    # vmstat 1 // saída a cada segundo
    
  • iostat: Monitoramento da atividade e desempenho de dispositivos de disco.

    # iostat -xz 1 // saída estendida por disco e CPU, a cada segundo
    
  • netstat / ss: Informação sobre conexões de rede, rotas, estatísticas de interfaces.

    # netstat -tunapl // conexões TCP/UDP, sockets em escuta, portas, PID
    # ss -tunapl
    
  • sar: Coleta, relatório e análise de atividade do sistema (CPU, memória, disco, rede). Usado para análise de desempenho histórico.

    # sar -u 5 5 // CPU a cada 5 segundos, 5 vezes
    # sar -d 5 5 // Disco a cada 5 segundos, 5 vezes
    # sar -n DEV 5 5 // Rede a cada 5 segundos, 5 vezes
    
  • iftop / nethogs: Monitoramento interativo do tráfego de rede por interfaces ou processos.

    # iftop -i eth0 // monitoramento da interface eth0
    # nethogs eth0 // monitoramento do tráfego por processos na eth0
    
  • dstat: Utilitário universal que combina funcionalidades de vmstat, iostat, netstat.

    # dstat -c -m -d -n // CPU, memória, disco, rede
    
  • strace / lsof: Rastreamento de chamadas ao sistema (strace) e lista de arquivos abertos (lsof) para um processo específico. Útil para análise aprofundada do comportamento da aplicação.

    # strace -p <PID> // rastreamento do processo por PID
    # lsof -p <PID> // arquivos abertos do processo por PID
    

O procedimento será iterativo: identifico o gargalo com base nas métricas, uso a ferramenta adequada para aprofundar, analiso a causa raiz (por exemplo, um processo específico), e tomo medidas corretivas (como reiniciar ou otimizar a aplicação, aumentar recursos). Também é importante verificar os logs das aplicações e os logs do sistema (journalctl, /var/log/*).