【初月無料キャンペーン中】gooドクター

Webシステムのサーバ構成が、2台構成で各サーバを仮想化してWebサーバとDBサーバが構成されています。

サーバA:Webサーバ1、DBサーバ1
サーバB:Webサーバ2、DBサーバ2
のような感じです。
これで、Webサーバ1がDBサーバ2を見て、Webサーバ2がDBサーバ2を見る構成となっています。
たすき掛け上の構成にしなくてはいけない理由は何でしょうか?
不勉強で申し訳ないのですが、どなたか理由を教えていただけると助かります。

gooドクター

A 回答 (3件)

Webサーバー1 - DBサーバー2の組(仮にシステムα)と、Webサーバー2 - DBサーバー1の組(同β)が違うシステムと仮定すると、単なる負荷分散(リソース分散/最適化?)に見えます。



システムαが高負荷になったと仮定して、各サーバーのリソース(CPU,メモリ)の配分は、おおまかに以下のようになるということでしょう。
サーバーA: Webサーバー1 = 80%, DBサーバー1 = 20%
サーバーB: Webサーバー2 = 20%, DBサーバー2 = 80%
(もちろん、WebとDBとではリソースの使い方が違いますが、ひとまず除外してます。)

もし単体サーバーで、Web+DBを構築した場合、上記と同じ負荷の作業を同じパフォーマンスで実行させたい場合、160%のリソースが必要になりますし、もう片方は、暇を持て余す状態になります。

ただ、ネットワーク構成をちゃんとしておかないと、サーバーA - B間のネットワークが分断されてしまうと共倒れする危険性がありますし、アプリケーション作成側としても、Web - DB間の通信を極力抑えるなど対策をとらないで導入した場合、A - B間のネットワークがパンクすることも考えられます。
また、両方のシステムがほぼ同時に高負荷になるなら、意味がない構成かもしれません。

なんて、素人考えです。
    • good
    • 0
この回答へのお礼

ありがとうございました!!
同一筐体にのせたWebサーバとDBサーバをつないだ方が要領良いのではないか等と、悩んでいたのでとても参考になりました。

お礼日時:2013/04/13 02:50

たすきがけで



1)
Webサーバーの正
DBサーバーの副

2)
Webサーバーの副
DBサーバーの正

HAソフトで冗長構成を取り
障害時に縮退運転をするのは良くある方式です。
当初の構成であれば、やる必要は無いでしょう。
    • good
    • 0
この回答へのお礼

お礼が遅くなり失礼いたしました。
ご回答ありがとうございました。

お礼日時:2013/04/21 16:45

考え方次第なのでですが、私はこの構成はNGです


障害時、本来であれば単体障害で済むものが両方こける事になります

別の方が書かれているような場合、スペックを上げれば済むかと
またネットワークに流す事による、遅延の発生も気になります。

構築した人になぜそうするのか?と聞いてみてはいかがでしょう。
たぶん、その人なりの考え方があるのでしょう
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
構築者に聞いてみたところ、最初は片系をスレイブとして使用しサーバーA: Webサーバー1、サーバーB: DBサーバー2を利用して、利用ユーザーが増えたら両方使うという方針にするから、今は大丈夫と…。

お礼日時:2013/04/15 21:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング