php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #68678 FPM Ping should use a reserved worker
Submitted: 2014-12-29 03:04 UTC Modified: 2021-12-04 21:24 UTC
Votes:14
Avg. Score:4.7 ± 0.6
Reproduced:13 of 14 (92.9%)
Same Version:8 (61.5%)
Same OS:9 (69.2%)
From: hjf288 at gmail dot com Assigned:
Status: Open Package: FPM related
PHP Version: Irrelevant OS: All
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: hjf288 at gmail dot com
New email:
PHP Version: OS:

 

 [2014-12-29 03:04 UTC] 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.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-12-29 03:07 UTC] hjf288 at gmail dot com
-Summary: FPM Status should use a reserved worker +Summary: FPM Ping should use a reserved worker
 [2014-12-29 03:07 UTC] hjf288 at gmail dot com
Sorry, this should be in reference to the ping functionality.
 [2016-07-25 11:07 UTC] maciej at klepaczewski dot com
Both ping and status page should have reserved 'admin' connection.
 [2018-11-16 06:42 UTC] 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.
 [2018-12-05 12:16 UTC] 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.
 [2021-12-04 21:24 UTC] bukka@php.net
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.
 [2022-02-18 10:07 UTC] daniel at zelisko dot net
I think it should also apply to the /status 

cannot access it right now as all the workers are taken

thank you, dan
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 19:01:29 2024 UTC