130

Macports に fpm で php をインストールしようとしています。fpm は FastCGI プロセス マネージャーを意味するとどこかで読みました。それはfastcgiとfpmが同じということですか?それらが同じである場合、php に「php5 +fastcgi」 php5 +fpm」という 2 つの異なる macports バリアントがあるのはなぜ ですか。

4

3 に答える 3

96

FPMは、PHP で FastCGI SAPI (サーバー API) を管理するプロセス マネージャーです。

基本的に、SpawnFCGIのようなものの必要性を置き換えます。これは、FastCGI の子を適応的に生成します (現在の負荷で必要な場合は、さらに起動することを意味します)。

それ以外は、FastCGI との動作上の違いはほとんどありません (リクエストの開始から終了までのリクエスト パイプラインは同じです)。実装を簡単にするためにあるだけです。

于 2010-12-24T12:48:55.807 に答える
61

Anthony の言うことは完全に正しいですが、あなたの経験がより良いパフォーマンスと効率を示す可能性が高いことを付け加えたいと思います ( fpm-vs- ではfcgiなく、あなたの の実装によるものですhttpd)。

たとえば、私はクアッドコア マシンを実行し、lighttpdうまくfcgiハミングしていました。成長に対応するために 16 コアのマシンにアップグレードしたところ、RAM の使用量とセグメンテーション フォールトの 2 つが爆発的に増加しました。lighttpdウェブサイトを維持するために、30分ごとに再起動していることに気付きました.

php-fpm と nginx に切り替えたところ、RAM の使用量が 20GB から 2GB に減少しました。セグメンテーションも消えました。いくつかの調査を行った後、lighttpd と fcgi は、負荷がかかっているマルチコア マシンではうまく機能せず、特定のインスタンスでメモリ リークの問題も発生することがわかりました。

これはphp-fpmよりも優れているためfcgiですか?完全ではありませんが、フックする方法php-fpmは、 を介してサービスを提供する方法よりもはるかに効率的ですfcgi

于 2011-08-16T10:29:50.650 に答える