FPM
From DWIKI
FastCGI Process Manager
Links
Tuning php-fpm
Links
Settings
pm.max_children
Rather complex, maybe have it larger than start_servers + max_spare_servers?
Monitoring PHP-FPM
Metrics
listen queue
max listen queue
listen queue len
idle processes
active processes
total processes
max active processes
max children reached
slow requests
fpm configuration
pm.status_listen = 127.0.0.1:9001 pm.status = /fpm-status pm.ping = /fpm-ping
Apache
- I suppose you don't really have to use separate port for this, but might avoid problems
Listen 127.0.0.1:89 <Virtualhost 127.0.0.1:89> <Location /fpm-status> Require host localhost ProxyPass unix:/run/php/php-fpm.sock|fcgi://localhost:9001 </Location> <Location /fpm-ping> Require host localhost ProxyPass unix:/run/php/php-fpm.sock|fcgi://localhost:9001 </Location> </VirtualHost>
HOWTO
Configuring number of servers
dynamic - the number of child processes are set dynamically based on the following directives:
pm.max_children - the maximum number of children that can be alive at the same time. Has to be at least as high as pm.max_spare_servers
pm.start_servers - the number of children created on startup. this value must not be less than min_spare_servers and not greater than max_spare_servers. ; Default Value: (min_spare_servers + max_spare_servers) / 2
pm.min_spare_servers - the minimum number of children in 'idle' state (waiting to process). If the number of 'idle' processes is less than this number then some children will be created.
pm.max_spare_servers - the maximum number of children in 'idle' state (waiting to process). If the number of 'idle' processes is greater than this number then some children will be killed.
FAQ
[pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers)
error messages
pm.min_spare_servers(3) and pm.max_spare_servers(7) cannot be greater than pm.max_children(5)
Obviously, pm.max_children has to be at least as high as pm.max_spare_servers
proxy_fcgi AH01071: Got error 'Primary script unknown'
The fcgi 404, so you're requesting a nonexisting link
AH01079: failed to make connection to backend: httpd-UDS
USB = Unix Domain Socket, look for logging/config about the socket involved
WARNING: [pool www] ACL set, listen.owner = 'apache' is ignored
Redhat feature, check commenting out acl_users in www.conf
AH01144: No protocol handler was valid for the URL /fpm-ping (scheme 'fcgi').
If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
a2enmod proxy_fcgi
Show php-fpm config
php-fpm8.0 -tt