В веб-приложении с Nginx и PHP-FPM я заметил моменты замедления и, анализируя журналы, обнаружил это сообщение, которое появляется время от времени:
[19-Nov-2017 19:24:09] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
После некоторого повторного поиска я увеличил значения в конфигурационном файле php.ini, остановил и удалил контейнер php и перестроил его, чтобы настройка, установленная для файла на томе, имела эффект.
Анализируя конфигурационный файл внутри контейнера, я обнаружил, что он содержит новые значения, которые я установил, однако, продолжает появляться сообщение об ошибке pm.max_children (5).
Here is my docker-compose.ymlversion: '2'services: pi_web: build: ./nginx ports: - "80:80" - "443:443" volumes: - ../src:/src - ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/nginx.conf:/etc/nginx/nginx.conf - /etc/letsencrypt:/etc/letsencrypt pi_php: build: ./php volumes: - ../src:/src - ./php/config/php.ini:/usr/local/etc/php/php.ini
Вот фрагмент файла ./php/config/php.ini:
pm = dynamicpm.max_children = 40pm.start_servers = 15pm.min_spare_servers = 15pm.max_spare_servers = 25
И, если я убегу:
$ docker exec -it docker_pi_php_1 cat /usr/local/etc/php/php.ini
Я вижу те же значения в приведенном выше фрагменте кода.
Путь к файлу конфигурации внутри контейнера правильный, я запустил:
$ php --ini
внутри контейнера и путь находится в списке загруженных файлов конфигурации.
Я изрядно поиздевался, пытаясь обойти эту проблему, но пока мне это не удалось.
Есть какие-нибудь идеи?