PHP-FPM詳細PHP-FPM詳細

PHP-FPM詳細

 

効果

PHP-FPM(PHPのFastCGIプロセスマネージャ ) イタリア:PHPのFastCGI Process Managerは受け入れられWebサーバの要求のためのプロセスプールPHPソフトウェアを管理します。
PHP-FPM PHPは、より良好なプロセス管理を提供する効果的スムーズPHP構成をオーバーロードすることができるメモリとプロセスを制御することができます。

(1)なぜPHP-FPMがあります

PHP-FastCGIのが表示されますので、すべてのFPMが表示されます。php-fastcgiのを達成するために、優れた管理プログラム

(2)PHP-FastCGIは何ですか

ただ、CGIプログラムのphp-FastCGIは、PHPはリクエストを解析し、その結果を返しますが、それが管理していません(そのためのphp-FPMまで現れませんでした)。

(3)なぜPHP-CGIを呼び出すことはありませ

実際には、出現PHP-のFastCGI PHP-CGIの前に存在であるが、その低い効率は、従ってPHP-FastCGIの置換。

(4)そのCGIのFastCGIのとどのような違いは、それをしませんか?

プロ、この差が大きく、要求上に分散サービスのWebサーバー(nginxのは)、サフィックスを照合することにより、要求が動的PHPの要求であることを知っているとき、要求は、PHPに転送されます。

保守的な思考のCGIの時代では、要求が実行環境を初期化し、基本的な設定情報には、php.iniを読み取るために、来ていつも後、ノンストップのプロセスを作成するたびに、設定、初期化環境を読み込みますデータを返す、プロセスを終了し、時間をかけて、特に疲れて退屈なプロセスを開始するには退屈な仕事になります。

回5は、私たちが働いてのこの方法に特にうんざり、怠惰な人々は必死に私はあなたがメインプロセス(マスター)を起動し、CGIの時間を作ることができ、したいようにする場合、PHPが来た、そして、彼は一度だけ設定され読んでみましょうあなたは努力の重複を避けることができるようにマスタによる要求が労働者に渡されるときに、複数のワーカープロセス(労働者)を起動します。したがって、FastCGIの。

(5)FastCGIはとてもよく、行うにはどのように作業員を開始するために切れ?
労働者が十分な時間がない場合、マスターはアイドル時間などは労働者を回復させることができる、ダイナミックなスタート労働者に情報を設定します

(6)今までは、まだPHP-FPMは何?であることを理解していない
起動プロセスと複数のワーカープロセスを管理するためのマスタープログラムです。

PHP-FPMは、1つまたは複数の子プロセスの取り扱い方法と、HTTPリクエストマスタープロセスコントロールを作成します。PHP-FPMメインプロセスは、どのような制御
(プロセスWebアプリケーションより多くのトラフィック)と破壊(子プロセスが長すぎるか、もはや必要に応じて実行される)ときに作成した
PHPの子プロセス。単一のHTTPリクエストの時間長よりPHP-FPMプロセスプールの存在下での各処理は、例えば、
HTTPリクエスト10,50,100,500以上の処理。

インストール

PHP後5.3.3 PHP-FPMは、PHPのコアコードに組み込まれて。そのため、無別々のphp-FPMをダウンロードしてインストール。
PHPのPHP-FPMをサポートするために、あなただけがそれをコンパイル時に--enable-FPM PHPのソースコードを持参する必要があります。

グローバルコンフィギュレーション

CentOSには、PHP-FPMのメイン設定ファイルが/etc/php7/php-fpm.confです。

指定された時間内では、サブプロセスが失敗したPHP-FPM再起動を指定しています:

プロセス・プールを構成します

コンテンツのPHP-FPMプロファイルの残りの部分は面積がプールDefintionsと呼ばれています。PHP-FPMプロセスの各プールのユーザ構成設定領域。PHP-FPMプロセスプールは、関連するPHPの子プロセスのシリーズです。== == PHPアプリケーション・プロセスは、独自のプールがあり、通常です。

PHP-FPMメイン設定ファイルの先頭にプロセスプール定義ファイルのCentOSの紹介:

www.confは、デフォルトの設定ファイルPHP-FPMプロセスプールです。

保存し、PHP-FPMメインプロセスを再起動して編集します。

PHP-FPMプロセスの設定の詳細がご覧プール  http://php.net/manual/install.fpm.configuration.php

参考カンパニー開発環境

次のようにテスト環境を設定することです:

本番環境の設定:

PHP-FPMへの要求を転送し

一例として、nginxの:

考えます

  • [X]思考:
    同時実行サーバーが依存要因は何を?

PHP-FPMプロセスの最大数、同時のnginxの数(nginxのは、単にプロキシサーバとして動作)、メモリ使用量、CPUのオーバーヘッド

QPSサーバ(秒あたりの要求)は、接続要求の平均数*(1 /応答時間)=。

=効果的な時間の同時実行* QPS。

  • ソリューション:
  1. プラスシャント機
    • 複雑な計算機を追加する必要があります
  2. 新しいスタンドアロンの増加エネルギー
    • オープンopcache PHPの増加メモリ空間
    • アクセスキャッシュシステム
    • SQLの最適化
    • PHPの最適化
      ...

参照

https://segmentfault.com/a/1190000010844969

https://www.zhihu.com/question/20049768

 
オリジナル住所https://www.cnblogs.com/followyou/p/9460058.html

効果

PHP-FPM(PHPのFastCGIプロセスマネージャ ) イタリア:PHPのFastCGI Process Managerは受け入れられWebサーバの要求のためのプロセスプールPHPソフトウェアを管理します。
PHP-FPM PHPは、より良好なプロセス管理を提供する効果的スムーズPHP構成をオーバーロードすることができるメモリとプロセスを制御することができます。

(1)なぜPHP-FPMがあります

PHP-FastCGIのが表示されますので、すべてのFPMが表示されます。php-fastcgiのを達成するために、優れた管理プログラム

(2)PHP-FastCGIは何ですか

ただ、CGIプログラムのphp-FastCGIは、PHPはリクエストを解析し、その結果を返しますが、それが管理していません(そのためのphp-FPMまで現れませんでした)。

(3)なぜPHP-CGIを呼び出すことはありませ

実際には、出現PHP-のFastCGI PHP-CGIの前に存在であるが、その低い効率は、従ってPHP-FastCGIの置換。

(4)そのCGIのFastCGIのとどのような違いは、それをしませんか?

プロ、この差が大きく、要求上に分散サービスのWebサーバー(nginxのは)、サフィックスを照合することにより、要求が動的PHPの要求であることを知っているとき、要求は、PHPに転送されます。

保守的な思考のCGIの時代では、要求が実行環境を初期化し、基本的な設定情報には、php.iniを読み取るために、来ていつも後、ノンストップのプロセスを作成するたびに、設定、初期化環境を読み込みますデータを返す、プロセスを終了し、時間をかけて、特に疲れて退屈なプロセスを開始するには退屈な仕事になります。

回5は、私たちが働いてのこの方法に特にうんざり、怠惰な人々は必死に私はあなたがメインプロセス(マスター)を起動し、CGIの時間を作ることができ、したいようにする場合、PHPが来た、そして、彼は一度だけ設定され読んでみましょうあなたは努力の重複を避けることができるようにマスタによる要求が労働者に渡されるときに、複数のワーカープロセス(労働者)を起動します。したがって、FastCGIの。

(5)FastCGIはとてもよく、行うにはどのように作業員を開始するために切れ?
労働者が十分な時間がない場合、マスターはアイドル時間などは労働者を回復させることができる、ダイナミックなスタート労働者に情報を設定します

(6)今までは、まだPHP-FPMは何?であることを理解していない
起動プロセスと複数のワーカープロセスを管理するためのマスタープログラムです。

PHP-FPMは、1つまたは複数の子プロセスの取り扱い方法と、HTTPリクエストマスタープロセスコントロールを作成します。PHP-FPMメインプロセスは、どのような制御
(プロセスWebアプリケーションより多くのトラフィック)と破壊(子プロセスが長すぎるか、もはや必要に応じて実行される)ときに作成した
PHPの子プロセス。単一のHTTPリクエストの時間長よりPHP-FPMプロセスプールの存在下での各処理は、例えば、
HTTPリクエスト10,50,100,500以上の処理。

インストール

PHP後5.3.3 PHP-FPMは、PHPのコアコードに組み込まれて。そのため、無別々のphp-FPMをダウンロードしてインストール。
PHPのPHP-FPMをサポートするために、あなただけがそれをコンパイル時に--enable-FPM PHPのソースコードを持参する必要があります。

グローバルコンフィギュレーション

CentOSには、PHP-FPMのメイン設定ファイルが/etc/php7/php-fpm.confです。

指定された時間内では、サブプロセスが失敗したPHP-FPM再起動を指定しています:

プロセス・プールを構成します

コンテンツのPHP-FPMプロファイルの残りの部分は面積がプールDefintionsと呼ばれています。PHP-FPMプロセスの各プールのユーザ構成設定領域。PHP-FPMプロセスプールは、関連するPHPの子プロセスのシリーズです。== == PHPアプリケーション・プロセスは、独自のプールがあり、通常です。

PHP-FPMメイン設定ファイルの先頭にプロセスプール定義ファイルのCentOSの紹介:

www.confは、デフォルトの設定ファイルPHP-FPMプロセスプールです。

保存し、PHP-FPMメインプロセスを再起動して編集します。

PHP-FPMプロセスの設定の詳細がご覧プール  http://php.net/manual/install.fpm.configuration.php

参考カンパニー開発環境

次のようにテスト環境を設定することです:

本番環境の設定:

PHP-FPMへの要求を転送し

一例として、nginxの:

考えます

  • [X]思考:
    同時実行サーバーが依存要因は何を?

PHP-FPMプロセスの最大数、同時のnginxの数(nginxのは、単にプロキシサーバとして動作)、メモリ使用量、CPUのオーバーヘッド

QPSサーバ(秒あたりの要求)は、接続要求の平均数*(1 /応答時間)=。

=効果的な時間の同時実行* QPS。

  • ソリューション:
  1. プラスシャント機
    • 複雑な計算機を追加する必要があります
  2. 新しいスタンドアロンの増加エネルギー
    • オープンopcache PHPの増加メモリ空間
    • アクセスキャッシュシステム
    • SQLの最適化
    • PHPの最適化
      ...

参照

https://segmentfault.com/a/1190000010844969

https://www.zhihu.com/question/20049768

おすすめ

転載: www.cnblogs.com/php-linux/p/11516909.html