人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

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

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

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

●質問者: wankodon
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● だわかき
●100ポイント

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

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


wankodonさんのコメント
すみません、質問の説明が足りませんでした。 今回はproxyのキャッシュヒット率は考えてなくて、どちらもキャッシュがない条件で、FastCGIとHTTPでのトラフィックの違いをお聞きしたいのでした。 ともあれ回答どうも有り難うごさいました。

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

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

質問者から

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

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


2 ● holoholobird
●100ポイント

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程度)小さいようです。


wankodonさんのコメント
回答有り難うございます。参考にさせて頂きます。

3 ● エネゴリ
●100ポイント

No.2の回答通り、キャッシュ等を考慮しないのならほぼ同じです。
同じ程度のオーバーヘッドです
http://developer.cybozu.co.jp/tech/?p=2660
http://jre655.com/2013/03/26/nginx-turning-ubuntu-1/
参考リンク
http://seo-assist.net/archives/22859
http://server-setting.info/centos/apache-nginx-10-proxy.html
http://server-setting.info/centos/nginx-fastcgi-cache.html


wankodonさんのコメント
遅れましたが回答どうも有り難うございました。 リンク先を見て参考にしたいと思います。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ