
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