【すいちょくすけーりんぐ】

垂直スケーリング(スケールアップ) とは?

最終更新:
💡 レジが混んだら「レジ係を超高速にする」方式

サーバーのCPU・メモリなどを増やして、1台あたりの処理能力を上げる方法。台数は増やさず、1台を強くする。

📌 このページのポイント
垂直スケーリング vs 水平スケーリング 垂直スケーリング Scale Up / Down サーバー CPU: 2 RAM: 4G スペック強化 サーバー CPU: 16 RAM: 64G SSD: 2TB ○ 構成がシンプル・管理が容易 多くはアプリ変更不要 × サイズに上限・変更時に停止も 単一障害点が残る 1台を大きくする 水平スケーリング Scale Out / In Server 1 Server 2 Server 3 Server 4 (新) 台数を増やす → ロードバランサー ○ 拡張性が高い・耐障害性 台数を増やして対応しやすい × 設計が複雑・データ同期が課題 ステートレス設計が必要 台数を増やす
垂直スケーリングと水平スケーリングの比較
ひよこ ひよこ
垂直スケーリングって要するにいいパソコンに買い替えるってこと?
ペンギン先生 ペンギン先生
まさにそのイメージだよ。クラウドなら、例えばAWSのEC2でインスタンスタイプをm5.largeからm5.xlargeに変えると、vCPUが2から4、メモリが8GiBから16GiBになるんだ。多くの場合アプリのコードを変えずに済むのが大きなメリットだね
ひよこ ひよこ
じゃあ水平スケーリングより楽じゃん。なんで水平も使うの?
ペンギン先生 ペンギン先生
垂直スケーリングには上限があるんだ。用意されている一番大きなサイズにしたらそこで打ち止めだし、台数は1台のままだから、そのサーバーが壊れたときの影響も変わらない。それにEC2では、インスタンスタイプを変えるには一度停止する必要があって、その間はサービスが止まるんだよ
ひよこ ひよこ
じゃあ垂直スケーリングが向いてるのってどんなとき?
ペンギン先生 ペンギン先生
処理を細かく分けにくいシステムや、複数台で動かす設計になっていないアプリに向いているよ。データベースのように台数を増やす設計が難しいものは、まず垂直スケーリングで対応することも多いね。「当面は垂直でしのいで、その間に水平に増やせる設計を進める」という進め方もあるよ
ひよこ ひよこ
CPUとメモリを倍にしたら性能も倍になるの?
ペンギン先生 ペンギン先生
そうとは限らないんだ。例えば1つのスレッドでしか動かない処理は、CPUのコアを増やしても速くならないよね。メモリを増やしても、実はディスクの読み書きやネットワークが遅さの原因だったら効果は出ない。増やす前に、何がボトルネックになっているかを測って確かめるのが大事なんだよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「垂直スケーリング」って出てきたら「サーバー1台の性能を上げて処理能力を強化すること」と思えればだいたいOK!
📖 おまけ:英語の意味
「Vertical Scaling / Scale Up」 = 垂直方向に拡張する
💬 1台を上に積み増すイメージからVertical(垂直)。性能を上に引き上げるからScale Up(上に拡張)とも言うよ

参考資料

← 用語集にもどる