Nginx и php-fpm ждут завершения предыдущих запросов при 6+ одновременных подключениях

Я не могу понять, как настроить Nginx и php-fpm, чтобы разрешить более 6 одновременных подключений с одного IP. У меня есть следующие простые файлы PHP (без FW):

<?php
// long-request.php
sleep(15);

-

<?php
// instant-request.php
echo 'Meow World!';

Если я открою более 6 окон браузера с помощью long-request.php , то Instant-request.php откладывается до завершения окна с первым долгим запросом. Когда это происходит, php-fpm дает мне следующий статус:

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

Моя конфигурация: MacOS 10.13.5 (17F77), PHP 7.2.5, nginx / 1.13.12

php-fpm.d/www.conf

pm = ondemand
pm.max_children = 100

Я пробовал несколько конфигураций. Я установил pm в статический, динамический режим, я увеличил количество * _servers, ничего не помогло.


edit: Вот результат /usr/local/var/log/php-fpm.log (ничего подозрительно)

[28-Jun-2018 23:57:07] NOTICE: fpm is running, pid 62887
[28-Jun-2018 23:57:07] NOTICE: ready to handle connections
1
задан 29 June 2018 в 01:30
1 ответ

Я нашел ответ. Это было вызвано максимальным количеством параллельных подключений, разрешенных браузером / протоколом http. Прочтите подробный ответ на странице Stackoverflow.

1
ответ дан 3 December 2019 в 23:14

Теги

Похожие вопросы