ホームページ > バックエンド開発 > PHPの問題 > php-fpmプロセスが多すぎる場合の対処方法

php-fpmプロセスが多すぎる場合の対処方法

藏色散人
リリース: 2023-03-10 15:16:02
オリジナル
3859 人が閲覧しました

php-fpm プロセスが多すぎる問題の解決策: 最初に元の設定ファイルをバックアップし、次に vim を使用して設定ファイルを開き、次に設定パラメータを変更し、最後に再起動によってサーバーを再起動します。

php-fpmプロセスが多すぎる場合の対処方法

この記事の動作環境:CentOS 7システム、PHP7.1バージョン、DELL G3コンピュータ

php-fpm プロセスが多すぎますか?管理してください?

CentOS 7 の php-fpm プロセスが多すぎることによって引き起こされる過剰なサーバー メモリ リソース消費の問題を解決する

php-fpm とは:

php-fpm は、php のメモリとプロセスを制御するために使用される FastCGI プロセス マネージャーです。

動作環境:

CentOS 7
ログイン後にコピー

問題確認:

まずはphpプロセスの総数を確認:

pstree|grep php-fpm
ログイン後にコピー

エコー:

|-php-fpm---20*[php-fpm]
ログイン後にコピー

応答によると、表示された情報は、クエリ中に 20 個の php-fpm プロセスがあることを示しています。

次のコマンドを使用して、最も多くのメモリを消費する上位 50 のプロセスをリストすることもできます:

ps auxw|head -1;ps auxw|sort -rn -k4|head -50
ログイン後にコピー

解決プロセス:

構成を変更しましょう以下のファイルを使用して php-fpm を最適化し、メモリ使用量を削減します。

私の php-fpm 設定ファイルは .../server/php/etc/ ディレクトリにあります。このディレクトリに入ります。

最初に元の構成ファイルをバックアップします:

cp php-fpm.conf php-fpm.conf.bak
ログイン後にコピー

注: vim を使用して構成ファイルを開いた後、Esc キーを押し、「/」を入力し、次に「xxx」を入力します。 「xxx」という文字列を検索します。

具体的な構成パラメータは次のとおりです:

pm.max_children = 100改为:pm.max_children = 25
pm.start_servers = 20改为pm.start_servers = 5
pm.min_spare_servers = 5改为pm.min_spare_servers = 2
pm.max_spare_servers = 35改为pm.max_spare_servers = 10
ログイン後にコピー

サーバーを再起動します:

reboot
ログイン後にコピー

再起動後、メモリ使用量が以前よりも低下していることがわかります。

注:

php-fpm.conf のパラメーターの役割の説明:

pm.max_children: 静的モードで開かれた php-fpm プロセスの数。

pm.start_servers: 動的モードで開始する php-fpm プロセスの数。

pm.min_spare_servers: 動的モードでの php-fpm プロセスの最小数。

pm.max_spare_servers: 動的モードでの php-fpm プロセスの最大数。

上記の設定を行うとき、php-fpm の実行モードを動的に設定します。

pm = Dynamic

php-fpm には 2 つの実行モードがあります。

1 つは静的、もう 1 つは動的です。 static に設定した場合、pm.max_children パラメータのみが有効になります。動的に設定すると、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers の 3 つのパラメータが有効になります。動的に設定した後、php-fpm が起動すると、pm.start_servers のパラメータ設定に従って対応する数のプロセスが起動され、以降、php-fpm のプロセス数は pm で指定された数の間で維持されます。 .min_spare_servers および pm.max_spare_servers。

php-fpm の静的実行モードと動的実行モードの使用を選択する方法:

動的 php-fpm 実行モードを使用すると、php-fpm は冗長プロセスを解放できるため、メモリ リソースが節約されます。

静的 php-fpm 実行方法では、php-fpm が複数のプロセスを解放することはできません。これにより、php-fpm プロセスが頻繁に開始または停止されることがなくなり、場合によってはサーバーの応答時間が短縮されます。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp-fpmプロセスが多すぎる場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート