ホームページ > バックエンド開発 > PHPチュートリアル > php-fpm_PHP チュートリアルの 2 つのプロセス管理モードの詳細な説明

php-fpm_PHP チュートリアルの 2 つのプロセス管理モードの詳細な説明

WBOY
リリース: 2016-07-21 15:09:46
オリジナル
951 人が閲覧しました

php-fpmの2つのプロセス管理モード
php-fpmのプロセス番号は、設定に応じて動的と静的に分けることもできます。
1 つは、増減せずに指定した数の php-fpm プロセスを開く方法です。 2 つ目は、最初に一定数の php-fpm プロセスを開く方法です。 fpm プロセス数が上限に達し、アイドル状態になると、アイドル状態のプロセス数が自動的に下限値まで解放されます。
これら 2 つの異なる実行方法は、サーバーの実際のニーズに応じて調整できます。
ここで関係するいくつかのパラメーターについて説明します。それらは、pm、pm.max_children、pm.start_servers、pm.min_spare_servers、および pm.max_spare_servers です。
pm はそのメソッドを使用することを意味し、静的または動的の 2 つの値から選択できます。

古いバージョンでは、dynamic は Apache のようなものと呼ばれていました。 設定ファイルに記載されている指示に注意してください。 PHP5.3
php-fpmのデフォルトの静的処理方法では、php-cgiプロセスが長時間メモリを占有し解放できなくなるため、これもnginxエラーの原因の一つです。 php-fpmのメソッドをApacheモードに変更できます。

次の 4 つのパラメータは次のことを意味します:
pm.max_children: 静的モードで開かれた php-fpm プロセスの数。 pm.start_servers: 動的モードで開始する php-fpm プロセスの数。
pm.min_spare_servers: 動的モードでの php-fpm プロセスの最小数。
pm.max_spare_servers: 動的モードでの php-fpm プロセスの最大数。

dm が static に設定されている場合、pm.max_children パラメーターのみが有効になります。システムは、設定された数の php-fpm プロセスを開きます。

dm が動的に設定されている場合、pm.max_children パラメーターは無効になり、次の 3 つのパラメーターが有効になります。 php-fpm の実行が開始されると、システムは pm.start_servers php-fpm プロセスを開始し、システムのニーズに応じて pm.min_spare_servers と pm.max_spare_servers の間で php-fpm プロセスの数を動的に調整します。

それでは、どの実行方法がサーバーに適しているのでしょうか?実際、Apache と同様、私たちが実行する PHP プログラムでは、実行後に多かれ少なかれメモリ リークが発生します。

これが、php-fpm プロセスが最初は約 3M のメモリしか占有せず、一定期間実行すると 20 ~ 30M に増加する理由です。したがって、動的方法は冗長なプロセスを終了し、一部のメモリをリサイクルして解放できるため、メモリの少ないサーバーまたは VPS で使用することをお勧めします。具体的な最大量はメモリ/20M に基づいて取得されます。たとえば、512M VPS の場合、pm.max_spare_servers を 20 に設定することをお勧めします。 pm.min_spare_servers については、サーバーの負荷に応じて 5 ~ 10 の間で設定することをお勧めします。

また、比較的大きなメモリを備えたサーバーの場合、静的に設定すると効率が向上します。 php-fpmのプロセスを頻繁に切り替えるとラグが発生するため、メモリに余裕がある場合はstatic機能をオンにした方が良いでしょう。メモリ/30Mに基づいて数量を取得することもできます。たとえば、2GB メモリを搭載したサーバーは 50 に設定でき、4GB メモリを搭載したサーバーは 100 に設定できます。

http://www.bkjia.com/PHPjc/327224.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327224.html技術記事 php-fpm の 2 つのプロセス管理モードは、設定に応じて php-fpm のプロセス数を動的と静的に分けることができます。 1 つは、指定した数の php-fpm プロセスを増減せずに直接開始する方法です...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート