【すけーりんぐ】

スケーリング とは?

最終更新:
💡 需要に合わせてシステムを「伸び縮み」させる技術

システムの処理能力を需要に応じて拡大・縮小すること。アクセスが増えたときにサーバーの台数を増やしたり、1台の性能を上げたりする。

📌 このページのポイント
スケール:1台の強化と台数の増減 垂直スケーリング 1台のCPU・メモリ などを増減する 構成の上限に注意 水平スケーリング サーバー等の台数 を増減する 分散・同期を設計
用途に応じて選択・組み合わせます。停止の要否・処理の分散・データの整合性・費用などを確認します。
ひよこ ひよこ
スケーリングって何のこと?
ペンギン先生 ペンギン先生
システムの処理能力を需要に応じて大きくしたり小さくしたりすることだよ。お店に例えると、お客さんが増えたらレジを増やして、空いてきたら減らすようなイメージだね
ひよこ ひよこ
サーバーを増やすのと性能を上げるのは違うの?
ペンギン先生 ペンギン先生
いい質問!2つの方法があるんだ。サーバーの台数を増やす「スケールアウト(水平スケーリング)」と、1台のCPUやメモリを強化する「スケールアップ(垂直スケーリング)」だよ。レストランで例えると、スケールアウトは「店舗を増やす」、スケールアップは「1つの店を改装して広くする」イメージだね
ひよこ ひよこ
どっちがいいの?
ペンギン先生 ペンギン先生
場面しだいだね。スケールアップは仕組みを変えずに済むけど、1台の性能には上限があるし、その1台が止まると全体が止まりやすい。スケールアウトは1台が壊れても他が動き続けられるけど、どのサーバーでも同じ処理ができるように、セッションなどの状態をサーバーの外に置く設計が必要なんだ。データベースのように状態を持つ部分は、台数を増やすのが難しいこともあるよ
ひよこ ひよこ
クラウドだと自動でスケーリングしてくれるって本当?
ペンギン先生 ペンギン先生
本当だよ。「オートスケーリング」を設定すると、CPUの使用率などの指標に応じてサーバーを追加したり減らしたりしてくれる。ただし、最小・最大の台数や増減の条件を決めるのは利用者なんだ。それに新しいサーバーは起動して準備が整うまで処理に加われないから、急なアクセス増の立ち上がりには間に合わないこともある。セールのように予定がわかっているなら、前もって台数を増やしておくのが安心だね
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「スケーリング」って出てきたら「アクセス量に合わせてシステムの処理能力を調節すること」と思えればOK!
📖 おまけ:英語の意味
「scaling」 = 拡大縮小する・規模を変える
💬 scale(規模・目盛り)の動名詞だよ。システムの規模を状況に合わせて変えるイメージだね

参考資料

← 用語集にもどる