php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #74542 Inconsistent php-fpm status page
Submitted: 2017-05-04 13:25 UTC Modified: 2022-12-23 14:49 UTC
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: ugurkenar at peakgames dot net Assigned: bukka (profile)
Status: Closed Package: FPM related
PHP Version: 7.0.18 OS: CentOS Linux release 7.3.1611
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 this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: ugurkenar at peakgames dot net
New email:
PHP Version: OS:

 

 [2017-05-04 13:25 UTC] ugurkenar at peakgames dot net
Description:
------------
php-fpm status page shows inconsistent idle process count. The full status page shows that php-fpm has 0 idle process but all child process state is idle. 

gist shows the problem. As you can see almost every child process state is idle but "idle processes" metric is 0. 
https://gist.github.com/eminugurkenar/7bcc2dd50e29ca34ec149ef181edbb9b

Also this issue does not exist in php-7.0.12.
https://gist.github.com/eminugurkenar/b60affc92c592b0f5f83f8ecfe284d4c 





Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2017-05-08 17:11 UTC] cmb@php.net
-Package: Unknown/Other Function +Package: FPM related
 [2022-12-23 14:47 UTC] bukka@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: bukka
 [2022-12-23 14:47 UTC] bukka@php.net
I have done some testing with dynamic process manager under load. My setup can be seen here: https://github.com/bukka/php-util/tree/master/tests/fpm/status-idle-update . Basically starting fpm with max 30 children (taken from the number of processes in gist), then starting nginx and using wrk. After the load test finishes, it show idle children but the scoreboard number was matching for me. There has been various changes since 7.0 fixing some race conditions in status so it is likely that this got fixed as well and it is no longer an issue. I also double checked the code and don't see any obvious race condition. If you still see the problem, please open a new issue on GitHub with steps how to recreate.
 [2022-12-23 14:49 UTC] bukka@php.net
For the record my testing was with PHP 8.1
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 13:01:30 2024 UTC