Reveja a CPU e a memória no seu servidor Linux
Recursos como CPU e memória (RAM) são parte integrante da funcionalidade do seu site. Se o seu código usar muito, o site pode ficar lento ou parar de funcionar completamente. Todos os outros processos (como email) partilham os mesmos recursos com os sites no seu servidor. Qualquer processo que consuma mais do que o seu quinhão (esperado) pode derrubar o servidor completamente.Por que preciso verificar o uso de recursos?
- Seu site baseado em banco de dados (como o WordPress) é lento.
- O email está demorando muito a chegar.
- O seu site apresenta um erro ou apenas roda
- As tarefas realizadas no seu servidor estão demorando mais tempo do que o normal (como os backups).
Como posso verificar a utilização de recursos?
O Linux oferece várias ferramentas para investigar o uso da CPU e da memória, como top , sar e watch .
O comando top permite que você visualize as tarefas do sistema em execução em tempo real. Você pode ver informações gerais como tempo de atividade, média de carga, uso de CPU e memória. A opção -c permite que você veja o nome do programa em COMMAND. Para obter uma lista completa de teclas de atalho, use man top no SSH.
[root @ server ~] $ top -c top - 15:08:23 até 115 dias, 6:37, 2 usuários, média de carregamento: 1,76, 1,35, 1,13 Tarefas: 330 no total, 1 em execução, 326 em espera, 0 interrompidos, 3 CPU (s) zombie (s): 0,7% us, 2,9%s y, 0,0% ni, 81,5% id, 14,9% wa, 0,0% hi, 0,1%s i, 0.0%s t Mem: 32754672k total, 28808088k usados, 3946584k livres, 321260k buffers Troca: 8388604k total, 25992k usados, 8362612k livres, 8140560k em cache PR NI VIRT RES SHR S% CPU% MEM TEMPO + COMANDO 6926 mysql 20 0 130g 16g S 12m S 52,2 27065: 56 / usr / sbin / mysqld --basedir = / usr --datadir = / var / lib / mysql --plugin-dir = / usr / lib64 / mysql / plugin 2454 td-agent 20 0 1210m 160m 2440 S 0,7 0,5 347: 19,48 / opt / td-agent / incorporado / bin / ruby -Eascii-8bit: ascii-8bit /
O System Activity Reporter (sar) é uma ferramenta para o ajudar a monitorizar as estatísticas de utilização do seu servidor. O Sar faz parte do pacote sysstat . Usar apenas o comando sar fornecerá as estatísticas das últimas 24 horas.
sar -f permite-lhe ver os ficheiros de registo do histórico a partir das 12h00 do dia.
[root @ server ~] $ sar -f / var / log / sa / sa10 Linux 2.6.32-042stab141.3 (server-hostname.net) 01/10/2022 _x86_64_ (24 CPU) 12:00:01 CPU % user% legal%s ystem% iowait%s Teal% idle 12:10:01 AM todos 1,92 0,00 0,39 0,00 0,00 97,69 12h20:01 todos 1,63 0,00 0,34 0,00 0,00 98,02 12:30:01 todos 1,64 0,00 0,41 0,01 0,00 97,94 12:40:01 todos 2,85 0,00 0,61 0,00 0,00 96,54 12:50:01 todos 2,71 0,00 0,57 0,01 0,00 96,72 01:00:01 todos 2,02 0,00 0,38 0,00 97,60 01:10:01 todos 1,43 0,00 0,30 0,00 98,27
sar -r irá mostrar estatísticas de memória livre e usada
[root @ server ~] $ sar -r Linux 2.6.32-042stab141.3 (server-hostname.net) 02/02/2022 _x86_64_ (24 CPU) 12h01 kbmemfree kbmemused% memused kbbuffers kbcached kbcommit% commit 12:10:01 AM 99454800 32354304 24,55 1429856 22624260 8285744 5,91 12:20:01 AM 99760972 32048132 24,31 1429884 22631184 7960428 5,68 12:30:01 AM 99751920 32057184 24,32 1429920 22638392 7974804 5,69 12:40:01 8035000 5,73 12:50:01 AM 99752696 32056408 24,32 1430012 22644804 7891100 5,63
O Linux watch permite-lhe observar comandos ou tarefas à medida que são concluídos ou executados. watch "mysql -e'show full processlist; '" irá mostrar todas as consultas mysql em execução, atualizando a cada 2 segundos.
A cada 2.0s: mysql -e'show full processlist; ' Sáb 12 de fevereiro 11:09:56 2022 Id Anfitrião do utilizador db Comando Tempo Estado Info 26574057 mysql_db1 localhost mysql_db1 Consulta 2 Enviando dados SELECT * de db_data_main onde DOT_NUMBER = 1381207 26574063 mysql_db1 localhost mysql_db1 Consulta 1 Enviar dados SELECT * de db_data_main onde DOT_NUMBER = 1381207 26574063 mysql_db1 localhost mysql_db641 Consulta 1 Enviar dados SELECT * a partir de db_data 2657 mysql_wp3 localhost mysql_wp3 Sleep 0 NULL 26574068 root localhost NULL Consulta 0 init mostrar lista de processos completa
Passos seguintes
O alto uso de recursos pode ser causado por tráfego malicioso ou por um processo suspenso (como um grande backup). A utilização frequente e elevada de recursos, não causada por tráfego ou processo interrompido, só pode ser resolvida através da otimização ou atualização. Tenha em atenção que se não otimizar o seu servidor e os seus sites, uma atualização é apenas uma correção temporária .
Sinais de que pode ser altura de otimizar (servidor e site (s))
- Não é causado por tráfego malicioso
- O código do site está desatualizado / gerando erros obsoletos
- O uso da CPU é alto, mas o uso da memória é baixo.
- As consultas do MySQL ficam atrasadas quando o tráfego aumenta
Sinais de que pode ser a hora de atualizar
- O tráfego para o (s) seu (s) site (s) está aumentando constantemente
- O servidor foi otimizado para as necessidades do seu site
- Otimizou o (s) seu (s) site (s) eliminando longas consultas mysql e atualizando o código para suportar versões mais recentes do PHP.
- Você está usando armazenamento em cache (como Memcache), mas a carga permanece alta