Organizational Research By

Surprising Reserch Topic

Define emergency_restart_threshold Value
Purpose: If this number of child processes exit with Segmentation, page fault, and access violation (SIGSEGV or SIGBUS) within the time interval set by emergency_restart_interval then FPM will restart
Default Value: 0 means Off
Configuration:
1
¬†¬†¬†¬†
emergency_restart_threshold = 10

Define emergency_restart_interval Value
Purpose: Interval of time used to determine when a graceful restart will be initiated. ¬†This can be useful to work around accidental corruptions in an accelerator‚Äôs shared memory
Default Value: 0
Available Units: s(econds), m(inutes), h(ours), or d(ays)
Configuration:
2
¬†¬†¬†¬†
emergency_restart_interval = 1m

Multiple pools of child processes may be started with different listening ports and different management options. ¬†The name of the pool will be used in logs and stats. There is no limitation on the number of pools which FPM can handle. So system limit is the FPM limit.

¬†¬†¬†¬†static ¬†‚Äď a fixed number (pm.max_children) of child processes
¬†¬†¬†¬†dynamic ‚Äď the number of child processes are set dynamically based on the following directives. With this process management, there will be always at least 1 children
¬†¬†¬†¬†ondemand ‚Äď no children are created at startup. Children will be forked when new requests will connect

Configuration: This is a mandatory value
3
¬†¬†¬†¬†
pm = dynamic

Define Process Manager Maximum children limit
Purpose: The number of child processes to be created when pm is set to ‚Äėstatic‚Äô and the maximum number of child processes when pm is set to ‚Äėdynamic‚Äô or ‚Äėondemand‚Äô
Note: Equivalent to the ApacheMaxClients directive with mpm_prefork
Default Value: 5
Configuration: This value is mandatory
4
¬†¬†¬†¬†
pm.max_children = 5

Define Request Slowlog Time out
Purpose: The timeout for serving a single request after which a PHP backtrace will be dumped to the ‚Äėslowlog‚Äô file.
Default Value: 0
Configuration: A value of ‚Äô0s‚Äô means ‚Äėoff‚Äô
9
¬†¬†¬†¬†
request_slowlog_timeout = 5s

Define Request Terminate Time Limit
Purpose: The timeout for serving a single request after which the worker process will be killed. This option should be used when the ‚Äėmax_execution_time‚Äô ini option does not stop script execution for some reason
Default Value: 0
Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
Configuration: A value of ‚Äô0‚Ä≤ means ‚Äėoff‚Äô
11
¬†¬†¬†¬†
request_terminate_timeout = 300s

Define Max Core limit
Purpose: A process can set its soft RLIMIT_CORE resource limit to place an upper limit on the size of the core dump file that will be produced if it receives a ‚Äúcore dump‚ÄĚ signal
Default Value: System defined value
Possible Values: ‚Äėunlimited‚Äô or an integer greater or equal to 0
Configuration:
13
¬†¬†¬†¬†
rlimit_core = unlimited

Define Whether to catch workers output
Purpose: Redirect worker stdout and stderr into main error log. If not set, stdout and stderr will be redirected to /dev/null according to FastCGI specs
Default Value: no
Consideration: On high loaded environment, this can cause some delay in the page process time (several ms)
Configuration:
14
¬†¬†¬†¬†
catch_workers_output = yes

¬†¬†¬†¬†By default the status page output is formatted as text/plain. Passing either ‚Äėhtml‚Äô, ‚Äėxml‚Äô or ‚Äėjson‚Äô in the query string will return the corresponding
¬†¬†¬†¬†By default the status page only outputs short status. Passing ‚Äėfull‚Äô in the query string will also return status for each pool process