PHP-FPMパラメータの理解

Aug 21, 2019 am 10:01 AM
fpm

process_control_timeout

英語の説明

process_control_timeout mixedTime limit for child processes to wait for a reaction on signals from master.
Available units: s(econds), m(inutes), h(ours), or d(ays) Default Unit: seconds. Default value: 0.
ログイン後にコピー

中国語の説明

process_control_timeout
 mixed
设置子进程接受主进程复用信号的超时时间。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。
ログイン後にコピー

中国語の翻訳に不適切な箇所があります。英語の説明にはこの点は明記されていません信号は多重化された信号です。

私の理解:

リクエストの処理

原則として、php-fpm はアイドル状態の fastcgi プロセスを選択して処理します。リクエストを処理すると、php-fpm は fastcgi プロセスがリクエスト処理を受け入れる準備をするために fastcgi にシグナルを送信します。ただし、fastcgi プロセスは常にリクエストを処理できるわけではありません。つまり、シグナル (一時停止アニメーションなど) に常に応答できるわけではありません。このとき、php-fpm が fastcgi プロセスに残す時間を次のように設定する必要があります。タイムアウトになった場合、php -fpm は他の方法 (他の fastcgi プロセスを選択するなど) を考えますが、これが process_control_timeout パラメーターの役割です。

php-fpm実行reload

process_control_timeout = 10

<?php 
sleep(50);echo 1;sleep(20);    
//没有这个sleep,reload会立即生效echo 2;
ログイン後にコピー

ブラウザがアクセスしたときhttp://localhostphp-fpmsmoothingreload を実行します。fastcgi 信号がシャットダウン プロセス信号を受信した後、最初のスリープ関数は直接戻りますが、 2 番目のスリープはまだ実行中です。したがって、php-fpm はこの古い fastcgi プロセスによって 10 秒間停止しますが、その後、スムーズに再起動を完了できます。 php-fpm.conf

ファイル内の説明は次のとおりです:

; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the &#39;max_execution_time&#39; ini option
; does not stop script execution for some reason. A value of &#39;0&#39; means &#39;off&#39;.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0
ログイン後にコピー
翻訳は次のとおりです:

request_terminate_timeout

パラメータは、単一のリクエストを処理するためのタイムアウトを設定します。つまり、ワーカー プロセスは強制終了されます。このオプションは、php.ini ファイルの max_execution_time オプションによって何らかの理由でスクリプトの実行が停止されない場合に使用する必要があります。デフォルト値は 0 で、このオプションがオフであることを意味します。

上記のように、php.ini 設定の
request_terminate_timeout はリクエストのタイムアウトと max_execution_time を設定します。マニュアルの次の説明によると、スクリプト許容される最大実行時間です。

max_execution_time
 integer
这设置了脚本被解析器中止之前允许的最大执行时间,单位秒。 这有助于防止写得不好的脚本占尽服务器资源。 默认设置为 30。 从命令行运行 PHP 时,默认设置为 0。
最大执行时间不会影响系统调用和系统操作等。更多细节参见 set_time_limit()。
在 安全模式 下你不能通过 ini_set() 来修改此设置。 唯一的解决方法是关闭安全模式或者在 php.ini中修改时间限制。
你的 web 服务器也可以有其他超时设置,也有可能中断 PHP 的执行。 Apache 有一个 Timeout 指令,IIS 有一个 CGI 超时功能。 他们默认都是 300 秒。更多具体信息参见你的 web 服务器的文档。
ログイン後にコピー

違いは次のとおりです。 タイムアウト後、request_terminate_timeout

は 502Bad Gateway を返し、

max_execution_time はスローします。 # ##致命的な誤り###。

max_execution_time には、

system()sleep() の使用などのシステム コール、ストリーム操作、データベース操作などの時間は含まれません。これは比較的役に立ちませんが、request_terminate_timeout にはプログラムの完全なリクエスト時間が含まれます。 さらに、request_terminate_timeout をオンにしても max_execution_time は無効になりません。最初にタイムアウトに達した人が有効になります。

関連する PHP の問題の詳細については、PHP 中国語 Web サイトを参照してください:

https://www.php.cn/

以上がPHP-FPMパラメータの理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu で PHP-FPM が見つからない問題を解決する Ubuntu で PHP-FPM が見つからない問題を解決する Mar 08, 2024 pm 09:45 PM

Ubuntu で PHP-FPM がない問題を解決するには、特定のコード サンプルが必要です。Ubuntu システムでは、PHP-FPM のインストールと構成は一般的な操作ですが、インストール プロセス中に PHP-FPM が見つからないという問題が発生することがあります。この記事では、この問題の解決方法を詳しく説明し、インストールと構成を完了するのに役立つ具体的なコード例を示します。 1. PHP-FPM がインストールされているかどうかを確認します まず、次のコマンドを使用して、PHP-FPM がシステムにインストールされているかどうかを確認します: dpkg-l|gr

Linux環境でPHP7-FPMが起動できない問題の解決方法 Linux環境でPHP7-FPMが起動できない問題の解決方法 Mar 11, 2024 pm 02:12 PM

Linux 環境で PHP7-FPM が起動できない問題を解決する方法 Linux サーバーを使用して Web サイトやアプリケーションを構築する場合、PHP7-FPM は一般的に使用される PHPFastCGI プロセス マネージャーです。ただし、場合によっては PHP7-FPM が起動できず、Web サイトに正常にアクセスできなくなる場合があります。この記事では、一般的な回避策をいくつか取り上げ、具体的なコード例を示します。この情報が、PHP7-FPM の起動失敗の問題を迅速に解決するのに役立つことを願っています。診る

Linux で PHP7-FPM が起動できない場合の対処方法 Linux で PHP7-FPM が起動できない場合の対処方法 Mar 10, 2024 pm 09:54 PM

Linux 上の PHP7-FPM は、一般的な PHPFastCGI プロセス マネージャーであり、通常は PHP プログラムの実行を処理するために使用されます。ただし、構成または展開プロセス中に、PHP7-FPM の起動に失敗し、Web サイトに正常にアクセスできなくなる状況が発生する場合があります。この場合、問題に対処し、解決するための何らかの措置を講じる必要があります。 1. エラーログを確認する まず PHP7-FPM のエラーログを確認します 通常、エラーログは /var/log/php7-fpm にあります。

nginx スムーズ リスタートと FPM スムーズ リスタートとは何ですか? nginx スムーズ リスタートと FPM スムーズ リスタートとは何ですか? May 23, 2023 pm 09:08 PM

グレースフル リスタート GR は Graceful Restart の略で、プロトコルの再起動時に転送サービスが中断されないようにする仕組みです。 GR メカニズムの核心は、デバイスがプロトコルを再起動すると、周囲のデバイスに通知して、一定期間内に安定したネイバー関係とデバイスへのルートを維持することができることです。プロトコルの再起動後、周辺デバイスは情報 (GR をサポートするルーティング/MPLS 関連プロトコルによって維持されるさまざまなトポロジ、ルーティング、およびセッション情報を含む) の同期を支援し、デバイスを再起動前の状態に最短時間で復元します。州。プロトコル再起動処理全体で経路のフラッピングやパケット転送経路の変更はなく、システム全体が中断することなくデータを転送できます。このプロセスはスムーズな再起動と呼ばれます。

nginx+php-fpm サービスの HTTP ステータス コード 502 を解決する方法 nginx+php-fpm サービスの HTTP ステータス コード 502 を解決する方法 May 21, 2023 am 08:07 AM

弊社の Web プロジェクトでは、新しい都市の増加によりアクセス数が増加し、DB への負荷が増大しており、インターフェースを提供するビジネス パーティとして、最近大量の「502」リクエストが報告されています。下流側のフィードバックによって。 502 (badgateway) は通常、アップストリーム (ここでは PHP) でのエラーです。PHP の場合、502 の一般的な原因は、スクリプトの実行がタイムアウト設定時間を超えているか、タイムアウト設定が大きすぎて、PHP プロセスが実行されないことです。長期間解放され、暇な労働者がいないため、ゲストを迎えに行くプロセス。今回のプロジェクトは、PHP の実行時間の設定が短すぎることが原因です。この場合、まず PHP の実行時間を適切に増やし、502 を確実にクリアすることができます。結局のところ、最適化にはコストがかかります。

Ubuntu システムで PHP-FPM が見つからないという課題を解決する Ubuntu システムで PHP-FPM が見つからないという課題を解決する Mar 08, 2024 pm 02:48 PM

Ubuntu システムに PHP-FPM が存在しないという問題を解決するには、一連の手順に従って PHP-FPM をインストールして構成する必要があります。 PHP-FPM (FastCGIProcessManager) は、動的なページ要求を処理し、PHP アプリケーションのパフォーマンスと安定性を向上させるプロセス マネージャーです。以下では、この課題を解決するのに役立つ具体的なコード例とともに、Ubuntu システムに PHP-FPM をインストールして構成する方法を詳しく説明します。ステップ 1: システムのアップデートが進行中です

Nginx で PHP-FPM を使用するときに PHP エラー ログを構成する方法 Nginx で PHP-FPM を使用するときに PHP エラー ログを構成する方法 May 15, 2023 am 08:58 AM

nginxはapacheとは異なり、apacheではphpのエラーログを直接指定できるため、php実行時のエラー情報が直接phpのエラーログに入力され、簡単に参照することができます。 nginx では、状況は次のようになります。nginx はページ訪問のアクセス ログのみを記録します。 PHP エラーログ情報は表示されません。 nginx は php へのリクエストを php-fpmfastcgi プロセスに送信して処理しますが、デフォルトの php-fpm では php-fpm のエラーメッセージのみが出力され、php-fpm のエラーログには php のエラーログは表示されません。理由は、php-fpmの設定ファイルphpが

Linux サーバーで PHP7-FPM 起動例外を処理するためのヒント Linux サーバーで PHP7-FPM 起動例外を処理するためのヒント Mar 11, 2024 am 11:09 AM

Linux サーバー上のサーバー側スクリプト実行環境として PHP7-FPM を使用するのが一般的ですが、場合によっては起動例外が発生することがあります。この記事では、PHP7-FPM の起動例外に対処するためのいくつかのテクニックを紹介し、読者が問題をより適切に解決できるようにいくつかの具体的なコード例を示します。 1. 設定ファイルを確認する PHP7-FPM の設定ファイルは通常、/etc/php/7.x/fpm/pool.d/ ディレクトリにあり、設定ファイル内の設定が正しいことを確認します。作れます

See all articles