fix: raise PHP-FPM pool to 30 workers to prevent SSE starvation

SSE connections hold a worker for up to 90 s each; the default of 5
children meant the admin UI became unresponsive under normal use.
Mount zzz-pool.conf (loaded after zz-docker.conf) to override only the
pm.* settings without touching daemonize/listen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Simon Kuehn 2026-05-18 09:02:34 +00:00
parent cfb5cc4ad0
commit c8865e0187
2 changed files with 9 additions and 0 deletions

View file

@ -9,6 +9,7 @@ services:
volumes: volumes:
- .:/var/www - .:/var/www
- ./docker/app/php.ini:/usr/local/etc/php/conf.d/app.ini:ro - ./docker/app/php.ini:/usr/local/etc/php/conf.d/app.ini:ro
- ./docker/app/zz-fpm-pool.conf:/usr/local/etc/php-fpm.d/zzz-pool.conf:ro
depends_on: depends_on:
postgres: postgres:
condition: service_healthy condition: service_healthy

View file

@ -0,0 +1,8 @@
[www]
; SSE connections hold a worker for up to 90 s each — raise the pool ceiling
; so regular requests are not starved.
pm = dynamic
pm.max_children = 30
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 8