業務システムのサーバ構成についての質問です。

何らかの業務システムを構築しようとした時に SIer に構成案を求めると、小~中規模利用で明らかに単体サーバで十分用が足りるはずなのに AP サーバと DB サーバの2台構成で提案されるという事例がよく見られます。
このような2台構成というのは SIer が作る基本構成案のセオリーとなっているようですが、
【質問1】この構成を提案される理由として、合理的な根拠にはどのようなものがあるでしょうか?

また、一般的に AP サーバは専ら CPU、DB サーバは専らメモリとディスクに高負荷をかける傾向があり、専ら使用するリソースの性格が異なるので、個々の機器の性能を上げずに無闇に2台に分割しても性能面での大幅な向上は期待できないように思われます。
つまり、
【質問2】能力1のサーバを2台用意するよりも、能力2のサーバを1台用意した方が総合的に高いパフォーマンスが期待できるのではということですが、これについても反論その他ご意見ありましたらいただけると幸いです。

回答の条件
  • 1人10回まで
  • 200 ptで終了
  • 登録:
  • 終了:2009/09/17 00:05:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答8件)

<前のツリー | すべて | 次のツリー>
SIerのSEです t_yamo2009/09/16 09:11:53ポイント1pt

【回答1】

実際のところは当該システムの詳細な要件を聞かなければ判断できませんが、一般には「ごく小規模で可用性があまり求められないシステムである場合は2台構成にする合理的な根拠はない」と思います。

それでも2台構成の提案が多い理由としては、

 ・個別の要件を吟味した結果「ごく小規模で可用性があまり求められないシステムではない」と判断した。

 ・「今後拡張の予定はない」という顧客の言葉が信用できなかった。

 ・たまたま基にした過去の提案や経験則が2台構成だった(=台数の要件についてそんなに深くは考えていなかった)。

 ・「分割して統治」の思想が染みついていた(=台数の要件についてそんなに深くは考えていなかった)。

などが微妙に絡み合っているような気がします。

自分の場合も提案前に顧客から「ごく小規模で可用性があまり求められないので台数は制限してほしい」と明示的に要望がない限りはまずはAPサーバとDBサーバを別で提案すると思います。

規模だけでなく可用性が条件に入っているのは、APサーバかDBサーバのどちらか一方に障害があった際の対応として、分離されていた方がリプレースしやすいためです。

【回答2】

リソースの利用状況によりけりだと思います。

プロセスAとプロセスBを能力1の2台に載せるか能力2の1台に載せるか(この「能力」というのはCPU/メモリ/ディスクIOなどを敢えてまとめたまま抽象化した表現です)を考えた場合、

 ・プロセスAとプロセスBが同種のリソース(CPU/メモリ/ディスクIO)を大きく消費する場合、1台だとリソースの利用が競合してパフォーマンスが悪化する(どちらもディスクIOが多い場合、一方が書いているときに他方が待つことになります)。

 ・プロセスAとプロセスBが異なるリソース(CPU/メモリ/ディスクIO)を大きく消費する場合、1台で効率的に扱うことができる(各プロセスが能力1以上のリソースを占有できるのであれば能力1の2台構成よりもパフォーマンスがよくなる)。

などと言えます(どちらも詳細を無視した少々乱暴な定義ですが)。

ですので、【質問2】に対する反論(というか設問自体への反論)としては、

 ・そもそも「能力」として抽象化されているものを具体化しないとパフォーマンスに関する議論はできない。

ということが言えるかと思います。

<前のツリー | すべて | 次のツリー>

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

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

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

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

回答リクエストを送信したユーザーはいません