Uso de CPU muito estranho com PHP-FPM/MYSQL/NGINX

Uso de CPU muito estranho com PHP-FPM/MYSQL/NGINX

Eu tenho

  • php-fpm 7.0.11 - com ioncube
  • nginx 1.10.x
  • mariadb 10.1

Estou utilizando o PHP-FPM para estático, nunca tive problemas com isso. O alto uso da CPU ocorreu aleatoriamente e agora é permanente. Eu não fiz nenhuma alteração.

No momento em que estamos falando, o uso da CPU está em 100% com a maioria dos processos PHP-FPM no estado R.

Aqui está uma saída principal Minha CPU tem 16 threads

top - 08:21:15 up 31 min,  2 users,  load average: 799.18, 782.54, 620.78
Tasks: 1082 total, 799 running, 283 sleeping,   0 stopped,   0 zombie
%Cpu(s): 98.5 us,  1.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 

Meu servidor web está recebendo mais de 5.000 solicitações/segundo, mas com essa quantidade estava tudo bem antes.

É muito estranho porque:

  • Se eu substituir o ioncubed pela fonte original do arquivo PHP, a carga diminuirá para 8, bem como o uso da CPU para apenas 15-20%

  • Se eu MANTER o ioncube, mas parar o mysql, a média de carga e a CPU também diminuirão.

  • Às vezes, quando altero a configuração do sysctl, a CPU diminui por 10 segundos, mas novamente volta a 100%

Não sei explicar, porque se fosse o ioncube eu teria problema com o 2), mas não tenho.

Eu realmente perdi meu cabelo tentando descobrir a verdadeira causa disso e isso me deixa louca porque isso aconteceu quando eu não mudei nada.

Meu arquivo sysctl é o seguinte:

net.core.wmem_max= 1677721600
net.core.rmem_max= 1677721600
net.ipv4.tcp_rmem= 1024000 8738000 1677721600
net.ipv4.tcp_wmem= 1024000 8738000 1677721600
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_no_metrics_save = 1
net.core.netdev_max_backlog = 8000
net.ipv4.route.flush=1
fs.file-max=265536
net.core.somaxconn = 65535
vm.max_map_count=655300

informação relacionada