Req #68678 [Opn]: FPM Ping should use a reserved worker
Edit report at https://bugs.php.net/bug.php?id=68678&edit=1
ID: 68678
Updated by: bukka@php.net
Reported by: hjf288 at gmail dot com
Summary: FPM Ping should use a reserved worker
Status: Open
Type: Feature/Change Request
Package: FPM related
Operating System: All
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Just a note that this is now working for status (since 8.0) using pm.status_listen . But ping is not
implement and I agree that it would be useful to add.
Previous Comments:
------------------------------------------------------------------------
[2018-12-05 12:16:03] falundir at gmail dot com
Yeah pm.reserve_server_for_ping and pm.reserve_server_for_status flags would be very usefull. It
puzzles me why this is not yet available. How am I going to examine what's going on the server
in case of worker exhaustion when the status page doesn't work in this circumstance?
Also, the server handling status requests shouldn't be shown in status output, nor these
reserved servers included in statistics.
------------------------------------------------------------------------
[2018-11-16 06:42:55] enrico dot stahn at gmail dot com
We have experienced the same issue within Kubernetes and maxed out php-fpm. We run
github.com/hipages/php-fpm_exporter as a sidecar container to collect metrics and during certain
times it will miss scrapes due to php-fpm not being responsive. This will trigger a pod restart.
------------------------------------------------------------------------
[2016-07-25 11:07:17] maciej at klepaczewski dot com
Both ping and status page should have reserved 'admin' connection.
------------------------------------------------------------------------
[2014-12-29 03:07:22] hjf288 at gmail dot com
Sorry, this should be in reference to the ping functionality.
------------------------------------------------------------------------
[2014-12-29 03:04:07] hjf288 at gmail dot com
Description:
------------
PHP-FPM should have a reserved worker available to serve the status page even if all other workers
are busy.
This prevents false alarms when monitoring the status page (and it being unable to be served due to
worker exhaustion)
The thought on this comes from MySQL - where you can hit max connections but there is a reserved
connection so a superuser can connect and still work with the server.
Test script:
---------------
Exceed the configured worker count.
Attempt to access the status page.
Expected result:
----------------
I would expect to see the status page.
Actual result:
--------------
Attempt to access the status page will fail.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=68678&edit=1
Thread (7 messages)