PHP‑FPM workers exceed pm.max_requests
まだ誰も着手していません。
評価
調査の方向性
まず、issue にある PHP-FPM の設定と worker-status の証拠を使用し、pm.max_requests=5000 の持続的な負荷下で報告された挙動を再現します。PHP-FPM のリクエスト数のカウントとワーカーの再利用動作を追跡します。完了条件は、差異が説明され、設定された上限でワーカーが確実に再利用され、観測されたケースをカバーできることです。
索引モデルが issue の本文から書いたものです。
説明
Description
PHP‑FPM workers consistently exceed the configured pm.max_requests value under sustained load. Even with pm.max_requests = 5000, individual workers regularly process 8000–10,000+ requests before recycling.
$ sudo php-fpm -tt
[07-Aug-2026 20:20:46] NOTICE: [global]
[07-Aug-2026 20:20:46] NOTICE: pid = /var/run/php-fpm.pid
[07-Aug-2026 20:20:46] NOTICE: error_log = /var/log/php-fpm/php-fpm.log
[07-Aug-2026 20:20:46] NOTICE: syslog.ident = php-fpm
[07-Aug-2026 20:20:46] NOTICE: syslog.facility = 24
[07-Aug-2026 20:20:46] NOTICE: log_buffering = yes
[07-Aug-2026 20:20:46] NOTICE: log_level = unknown value
[07-Aug-2026 20:20:46] NOTICE: log_limit = 1024
[07-Aug-2026 20:20:46] NOTICE: emergency_restart_interval = 60s
[07-Aug-2026 20:20:46] NOTICE: emergency_restart_threshold = 10
[07-Aug-2026 20:20:46] NOTICE: process_control_timeout = 10s
[07-Aug-2026 20:20:46] NOTICE: process.max = 0
[07-Aug-2026 20:20:46] NOTICE: process.priority = undefined
[07-Aug-2026 20:20:46] NOTICE: daemonize = yes
[07-Aug-2026 20:20:46] NOTICE: rlimit_files = 0
[07-Aug-2026 20:20:46] NOTICE: rlimit_core = 0
[07-Aug-2026 20:20:46] NOTICE: events.mechanism = kqueue
[07-Aug-2026 20:20:46] NOTICE:
[07-Aug-2026 20:20:46] NOTICE: [www]
[07-Aug-2026 20:20:46] NOTICE: prefix = undefined
[07-Aug-2026 20:20:46] NOTICE: user = www
[07-Aug-2026 20:20:46] NOTICE: group = www
[07-Aug-2026 20:20:46] NOTICE: listen = /var/run/php-fpm.sock
[07-Aug-2026 20:20:46] NOTICE: listen.backlog = -1
[07-Aug-2026 20:20:46] NOTICE: listen.owner = nginx
[07-Aug-2026 20:20:46] NOTICE: listen.group = nginx
[07-Aug-2026 20:20:46] NOTICE: listen.mode = 0660
[07-Aug-2026 20:20:46] NOTICE: listen.allowed_clients = 127.0.0.1
[07-Aug-2026 20:20:46] NOTICE: listen.setfib = -1
[07-Aug-2026 20:20:46] NOTICE: process.priority = undefined
[07-Aug-2026 20:20:46] NOTICE: process.dumpable = no
[07-Aug-2026 20:20:46] NOTICE: pm = dynamic
[07-Aug-2026 20:20:46] NOTICE: pm.max_children = 50
[07-Aug-2026 20:20:46] NOTICE: pm.start_servers = 10
[07-Aug-2026 20:20:46] NOTICE: pm.min_spare_servers = 10
[07-Aug-2026 20:20:46] NOTICE: pm.max_spare_servers = 25
[07-Aug-2026 20:20:46] NOTICE: pm.max_spawn_rate = 32
[07-Aug-2026 20:20:46] NOTICE: pm.process_idle_timeout = 10
[07-Aug-2026 20:20:46] NOTICE: pm.max_requests = 5000
[07-Aug-2026 20:20:46] NOTICE: pm.status_path = /php-status
[07-Aug-2026 20:20:46] NOTICE: pm.status_listen = undefined
[07-Aug-2026 20:20:46] NOTICE: ping.path = undefined
[07-Aug-2026 20:20:46] NOTICE: ping.response = undefined
[07-Aug-2026 20:20:46] NOTICE: access.log = undefined
[07-Aug-2026 20:20:46] NOTICE: access.format = undefined
[07-Aug-2026 20:20:46] NOTICE: slowlog = undefined
[07-Aug-2026 20:20:46] NOTICE: request_slowlog_timeout = 0s
[07-Aug-2026 20:20:46] NOTICE: request_slowlog_trace_depth = 20
[07-Aug-2026 20:20:46] NOTICE: request_terminate_timeout = 0s
[07-Aug-2026 20:20:46] NOTICE: request_terminate_timeout_track_finished = no
[07-Aug-2026 20:20:46] NOTICE: rlimit_files = 0
[07-Aug-2026 20:20:46] NOTICE: rlimit_core = 0
[07-Aug-2026 20:20:46] NOTICE: chroot = undefined
[07-Aug-2026 20:20:46] NOTICE: chdir = undefined
[07-Aug-2026 20:20:46] NOTICE: catch_workers_output = no
[07-Aug-2026 20:20:46] NOTICE: decorate_workers_output = yes
[07-Aug-2026 20:20:46] NOTICE: clear_env = yes
[07-Aug-2026 20:20:46] NOTICE: security.limit_extensions = .php .phar
[07-Aug-2026 20:20:46] NOTICE:
[07-Aug-2026 20:20:46] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful
Idle Processes status
PHP Version
PHP 8.4.24 (cli) (built: Aug 1 2026 14:53:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.24, Copyright (c) Zend Technologies
with Zend OPcache v8.4.24, Copyright (c), by Zend Technologies
Operating System
FreeBSD 14.4-RELEASE-p8
- 主要言語
- C
- スター
- 40.4k
- フォーク
- 8.2k
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 115
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
php/php-src のほかの issue
-
Bug Status: Needs Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
Bug Status: Needs Triage
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
Bug Status: Needs Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
Bug Category: Tests Status: Verified
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
Bug SAPI: fpm Status: Needs Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
似ている issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 60/100
-
Nmap
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
flang:fir-hlfir
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
llvm/llvm-project#225935 ·