Doc #81242 [NEW]: Unclear documentation for process management directives
From: chealer at gmail dot com
Operating system:
PHP version: Irrelevant
Package: FPM related
Bug Type: Documentation Problem
Bug description:Unclear documentation for process management directives
Description:
------------
The List of pool directives for PHP-FPM configuration at
https://www.php.net/manual/en/install.fpm.configuration.php
documents
several process management directives. While the pm=static case seems
fairly simple, the whole thing looks quite complicated. Unfortunately,
neither the PHP manual nor the file comments are particularly clear, in
particular for the following directives:
pm string
Choose how the process manager will control the number of child
processes. Possible values: static, ondemand, dynamic. This option is
mandatory.
static - the number of child processes is fixed (pm.max_children).
ondemand - the processes spawn on demand (when requested, as opposed to
dynamic, where pm.start_servers are started when the service is
started.
dynamic - the number of child processes is set dynamically based on the
following directives: pm.max_children, pm.start_servers,
pm.min_spare_servers, pm.max_spare_servers.
pm.max_children int
The number of child processes to be created when pm is set to static and
the maximum number of child processes to be created when pm is set to
dynamic. This option is mandatory.
This option sets the limit on the number of simultaneous requests that
will be served. Equivalent to the ApacheMaxClients directive with
mpm_prefork and to the PHP_FCGI_CHILDREN environment variable in the
original PHP FastCGI.
pm.start_servers int
The number of child processes created on startup. Used only when pm is
set to dynamic. Default Value: min_spare_servers + (max_spare_servers -
min_spare_servers) / 2.
pm.min_spare_servers int
The desired minimum number of idle server processes. Used only when pm
is set to dynamic. Also mandatory in this case.
pm.max_spare_servers int
The desired maximum number of idle server processes. Used only when pm
is set to dynamic. Also mandatory in this case.
At least 2 things could greatly clarify:
1. Defining the effect of pm.min_spare_servers
2. Explaining the difference between child processes and server
processes
Test script:
---------------
This does not report a behavioral bug.
--
Edit bug report at https://bugs.php.net/bug.php?id=81242&edit=1
--
Fix committed: https://bugs.php.net/fix.php?id=81242&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=81242&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=81242&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=81242&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=81242&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=81242&r=support
Expected behavior: https://bugs.php.net/fix.php?id=81242&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=81242&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=81242&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=81242&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=81242&r=phptooold
Daylight Savings: https://bugs.php.net/fix.php?id=81242&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=81242&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=81242&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=81242&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=81242&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=81242&r=mysqlcfg
Thread (5 messages)
- chealer at gmail dot com