FastCGI経由とHTTP経由で、別のサーバーの同じCGI(PHP)を実行させた場合、どの程度オーバーヘッドがあるのか教えて下さい。


現在、2台のサーバーがあり、

 WEBサーバー(nginx:FastCGI) → APPサーバー(PHP-FPM)

これを以下の構成に変えたとします。

 WEBサーバー(nginx:proxy) → APPサーバー(nginx→PHP-FPM)

CPUの負荷は、後者のほうがAPPサーバーにnginxがある分高くなりますが、ネットワークのトラフィックはどの程度違うものなのでしょうか?

実際に運営されてる方のアドバイスも頂ければと思います。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/05/08 12:43:13
  • 終了:2013/05/15 12:45:04

回答(3件)

id:dawakaki No.1

だわかき回答回数797ベストアンサー獲得回数1222013/05/08 18:37:13

ポイント100pt

後者の場合、nginx:proxyのヒット率に応じてネットワーク負荷が変動します。
また、そのPHPスクリプトが何を返すかによって、WEBサーバとAPPサーバの間のトラフィックが大きく変動します。たとえば画像や音声といった大きなファイルを返すのであれば、現行の構成の方が不利です。

ヒット率が極端に低い場合は、ご想像の通り、現行構成の方に歩があります。

他1件のコメントを見る
id:dawakaki

nginxにおけるFast-CGIは単純なソケット通信なので、通信毎にセッションを張るhttp通信よりオーバーヘッドが少ないです。

2013/05/09 20:22:52
id:wankodon

そうなんですか、なるほど!
コメントどうも有り難うございます。

2013/05/12 17:58:37
id:wankodon

後者のnginxのproxyはあくまでHTTPでAPPサーバーにアクセスするためのもので、キャッシュ等について考えなくて結構です。

純粋にFastCGIとHTTPでどうトラフィックが変わるのか、という話です。

id:holoholobird No.2

holoholobird回答回数574ベストアンサー獲得回数1042013/05/08 22:21:21

ポイント100pt

http://blog.martinfjordvald.com/2011/04/optimizing-nginx-for-high-traffic-loads/
http://www.lowendtalk.com/discussion/7289/nginx-php-fpm-unix-socket-or-tcpip-for-fastcgi_pass
http://blog.kubox.info/2010_11_01_archive.html
http://web.showjin.me/nginx_php-fastcgi_setting.html
見た感じ、nginxもphp-fastcgiもオーバーヘッド対策が施されているので、数百万pvまででしたら、無視できる程度には(0.4程度)小さいようです。

id:wankodon

回答有り難うございます。参考にさせて頂きます。

2013/05/09 19:21:45
id:Yacky No.3

エネゴリ回答回数1374ベストアンサー獲得回数1542013/05/15 04:42:20

id:wankodon

遅れましたが回答どうも有り難うございました。
リンク先を見て参考にしたいと思います。

2013/05/18 20:20:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません