質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

Q&A

解決済

2回答

4324閲覧

nginxをロードバランサーにするとき

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

0グッド

2クリップ

投稿2015/06/28 14:00

nginxをロードバランサーとして利用する場合、
どのように動作しているのか理解していないためスペックの計算方法がわかりません。
また、仕組みについて教えてください。

例えば下記の構成の場合はどうやってLBのスペックを計算したらよいでしょうか。

LB(nginx、ラウンドロビン)

  • apache (1core メモリ1GB)
  • apache (1core メモリ1GB)

※nginxはキャッシュしない前提

下記が私の思っている動作の流れです。

  1. nginxにクライアントがリクエストを要求
  2. nginxがapacheに要求
  3. apacheがnginxに返す
  4. nginxがクライアントに返す

nginxがクライアントとapacheの仲介役
つまり、LBにぶら下がっているapacheが返すHTMLや画像データを全てnginxを一度経由

まず、上記の認識があっているのかをご教授いただきたいのと、
nginxを経由する際の負荷がどれくらいのものなのか疑問に思っております。

単純に帯域分だけあればcpuやメモリは関係ないのか、
それとも、経由した瞬間にそのデータ量のメモリ空きと処理するためのcpuが一定数必要なのか

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

リバースプロキシ状の動作でしたら、認識はあっていると思います。

通常、nginx を経由することによる負荷は、Apache が走ることによって生じる負荷よりも低いため、殆ど問題とはならないでしょう。
実際には、プロトコルヘッダの書き換えや、バッファによる処理のため、一定の負荷はかかります。
アクセス規模で言えば nginx 単体が、静的ファイルのみをホストする WEB サーバとして動作した際に、どれくらいのクライアント数を捌けそうかが目安となるかと思います。一定の CPU とネットワーク帯域が確保できれば十分でしょう。バックエンドが2台程度であれば、最近のマシンであれば、どのようなものでも役目は果たせそうです。

投稿2015/06/29 04:47

takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

  1. nginxにクライアントがリクエスト
  2. nginxがapacheにリクエストを回送
  3. apacheがクライアントにレスポンス

の流れかと。

ロードバランサの設定がラウンドロビンなら、nginxの負荷はほとんど考えなくても良いと思います。

投稿2015/06/29 04:08

rifuch

総合スコア1901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問