コンテンツへスキップ
uencoder

Scalability

スケーラビリティとは、システムが増大する負荷へ対応できる能力を指し、垂直スケーリング(リソース拡張)と水平スケーリング(インスタンス増設)の二方式がある。

目的

負荷の増加に対応できるアーキテクチャを設計することを目標とする。

メカニズム

垂直方向は単一ノードの CPU・メモリを増強する(上限あり)。水平方向はノードを追加して負荷を分散する(ステートレス化やシャーディングが必要)。需要に応じた自動スケールが弾力性である。ボトルネックになりやすいのはデータベース・ネットワーク・調整オーバーヘッドで、高速化の上限はアムダールの法則が定める。

ユースケース

  • システム設計
  • パフォーマンス計画
  • 弾力的なスケーリング

関連用語

References