システムの種類・構成システム構成要素★★☆

利用者の増加でWebシステムの応答が遅くなったため、スケールアウトによって 処理能力を高めることにした。行う内容として最も適切なものはどれか。

正解:

  1. 1台のサーバのCPUをより高速なものに交換し、あわせてメモリを増設する。

    誤り。これはスケールアップです。同じ1台の性能を引き上げる方法で、 台数を増やすスケールアウトとは増強の向きが逆になります。

  2. 使っていない機能やサービスを停止し、1台あたりの処理の無駄を減らす。

    誤り。これは設定を見直す性能改善(チューニング)です。持っている能力を 使い切る工夫であって、処理能力そのものを増やしてはいません。

  3. 処理の実行を利用者の少ない夜間へずらし、集中する時間帯の負荷を下げる。

    誤り。これは運用による負荷の平準化です。構成は変えずに時間をずらす対処で、 同時に集まる利用者そのものには対応できません。

  4. 同じ構成のサーバを増やして並べ、処理を複数台で分担できるようにする。

    正解。スケールアウトは台数を増やして処理を分担させる方法です。 利用者の増加に合わせて、必要な分だけ横に足していけます。

「横に増やす」か「上に伸ばす」か

レジが混んでいる店を思い浮かべます。レジ台を増やして行列を分けるのが スケールアウト、レジ係を熟練者に替えて1台の処理を速くするのが スケールアップです。どちらも処理能力を上げますが、増やす方向が違います。

用語 やること 向いている場面
スケールアウト サーバの台数を増やす 同時利用者が増え続ける処理
スケールアップ 1台の性能を上げる 分担しにくい処理、台数を増やせない構成

それぞれの限界

  • スケールアウトは処理を分けられることが前提です。分担のしくみが要る反面、 1台が止まっても残りで受け続けられるため、止まりにくさの面でも有利になります
  • スケールアップは構成を変えずに済んで手軽ですが、載せられる部品の上限が来ると それ以上伸ばせません。交換のあいだシステムを止める必要もあります

クラウドサービスで「必要なときだけ台数を増やす」使い方が広まったのは、 スケールアウトが機器の購入なしにできるようになったためです。

評価指標としての読み方

システム評価指標では、性能(応答時間や単位時間あたりの処理量)と、 止まりにくさ(RASISでいう信頼性や可用性)を分けて見ます。 スケールアウトは前者への手当てですが、台数の余裕がそのまま後者にも効く、 という二重の利点を持つ点が問われやすいところです。

システムの種類・構成の一覧へ戻る