Webサーバのスケールアップとスケールアウトの基準(ftp.jaist.ac.jpを参考に考える)

サーバの負荷分散として、最近ではスケールアウト型を取らなければいけない、というような風潮になっているが、いったい何を基準にスケールアップかスケールアウトかの判断をするべきなのだろうか。そこで、ftp.jaist.ac.jpを実際に運用されている方に聞いてみた。面白い話が聞けた。参考になるなぁ。
9
まつもとりー / Ryosuke Matsumoto @matsumotory

ftp.jaistって物理サーバは一つなのかな?過去の記事とかみてても、そのように見える。ストレージと複数の処理サーバに分けて分散させない理由が何かあるんだろうか。ストレージとサーバ間はがっつり太くして、Apacheの処理周りは分散させるとか。多分、それじゃだめな理由があるな。

2012-03-05 01:08:21
藤枝和宏 @kfujieda

@matsumotory 1台のほうがコストも小さく性能も高いからです。n台に増やすとコストはn倍よりベラボーに高く、性能はn倍よりずっと低くなります。可用性を担保しなくていいのなら台数を増やす理由はまったくないのです。

2012-03-05 01:55:17
まつもとりー / Ryosuke Matsumoto @matsumotory

@kfujieda n倍に関する話はその通りだと思います。最近では、10分の1の価格でも、例えば3分の1程度の性能劣化でHWが買えたりすると思うのですが、それを考慮しても並列処理させるコストと性能の兼ね合いで優位性はないのでしょうか?運用管理コストという話もあると思いますが。

2012-03-05 02:10:33
まつもとりー / Ryosuke Matsumoto @matsumotory

@kfujieda ここにもあるように、ダウンロード専門で単一のjaist程のサーバを運用していないエンジニアの感覚でいけば、スケールアップの方が指数関数的にコストが上がりそうに思うんですが、そうでもないんでしょうか?http://t.co/MOUUpVC7

2012-03-05 02:22:26
藤枝和宏 @kfujieda

@matsumotory 分散ファイルシステムによるストレージの共有ってドハマリの元なんですよ。KVSのように簡単にスケールアウトしないんです。

2012-03-05 02:35:51
まつもとりー / Ryosuke Matsumoto @matsumotory

@kfujieda 分散ファイルシステムではなく、たとえばストレージを複数のサーバでマウントしてロードバランサで分散という一般的な構成を想定しています。複数のサーバにApache上げて、プロセスの処理を分散させたりとかですね。

2012-03-05 02:40:37
藤枝和宏 @kfujieda

@matsumotory 10万のサーバ20台でそれをやるより、200万のサーバ1台のほうが何倍も性能出ますよ?

2012-03-05 03:01:48
まつもとりー / Ryosuke Matsumoto @matsumotory

@kfujieda そうなのですか、参考になります。ということはgoogleも可用性や運用生のために分散しているだけで、パフォーマンスを重視すれば、単一のサーバであるべきだと。

2012-03-05 11:50:25
藤枝和宏 @kfujieda

@matsumotory スケールアップも限界があるんです。処理の内容や構成によりますが一台で5億なら、10万円で1000台の構成を考える価値がありますね。

2012-03-05 12:08:18
まつもとりー / Ryosuke Matsumoto @matsumotory

@kfujieda やっぱりそうですか。スケールアップの限界を超える程度ならスケールアウトを考える必要はあるが、スケールアップでも、例えばftp.jaistの規模でも十分コストを抑えた性能を引き出せる、と。現状のアップとアウトでのコスト帯性能みたいな研究があるとおもしろいですね。

2012-03-05 12:16:45