Eu encontrei a resposta. Foi causado pelo número máximo de conexões paralelas permitidas pelo protocolo browser / http. Leia a resposta detalhada em Stackoverflow.
Não consigo descobrir como configurar o Nginx e o php-fpm para permitir mais de 6 conexões simultâneas a partir de um único IP. Eu tenho os seguintes arquivos PHP simples (sem FW):
<?php
// long-request.php
sleep(15);
-
<?php
// instant-request.php
echo 'Meow World!';
Se eu abrir mais de 6 janelas do navegador com long-request.php
, então instant-request.php
será atrasado até que a janela com a primeira solicitação de longo prazo seja concluída. Quando isso acontece php-fpm me dá o seguinte status:
pool: www
process manager: ondemand
start time: 28/Jun/2018:23:30:05 +0200
start since: 183
accepted conn: 56
listen queue: 0
max listen queue: 0
listen queue len: 0
idle processes: 0
active processes: 7
total processes: 7
max active processes: 7
max children reached: 0
slow requests: 0
Minha configuração: MacOS 10.13.5 (17F77), PHP 7.2.5, nginx / 1.13.12
php-fpm.d/www.conf
pm = ondemand
pm.max_children = 100
Eu tentei várias configurações. Eu coloquei pm para estática, dinâmica, eu aumentei o número de * _servers, nada ajudou.
edit: Aqui está a saída de /usr/local/var/log/php-fpm.log
(nada suspeito)
[28-Jun-2018 23:57:07] NOTICE: fpm is running, pid 62887
[28-Jun-2018 23:57:07] NOTICE: ready to handle connections
Eu encontrei a resposta. Foi causado pelo número máximo de conexões paralelas permitidas pelo protocolo browser / http. Leia a resposta detalhada em Stackoverflow.