LinuCレベル2 202試験の出題範囲「2.13.2 キャパシティプランニングとスケーラビリティの確保」の技術的内容についての解説をまとめました。
重要度 2 概要 必要なリソース量を事前に予見できるシステムにおいて、近い将来に向けた拡張方法を知っている。将来的に必要なリソース量が容易に予見できないシステムにおいて、現在のリソース使用状況を継続的に把握できる。 詳細 キャパシティプランを作成するために把握しておくべきシステムリソースの観点と項目リソースを増減させる方法と必要な対応を知っている。スケールアップ・ダウンスケールアウト・インスケールアップの方式を知っている。必要リソース量を搭載したマシンの再構成スケールアウトの方式を知っている。スケールアウトに対応できるアプリケーション構成(ステートレスな構成 – DB、セッションなど)構成管理ツールや仮想マシンイメージを使ったノードの増減アクセスの振り分け – ロードバランサ、DNS ラウンドロビン

キャパシティプランニングの概要
キャパシティプランニングは、リソース不足によってシステムの運用に支障が出ないよう、適切なリソースを確保する設計のことです。現時点でのリソースだけでなく将来的にもリソースが不足しないことを見越して設計を行います。
キャパシティプランを作成するためには以下の状況確認が必要です。以下はLinuC公式サイトに掲載されているコラムの引用です。
システムのキャパシティを見積もるためには、主に以下のようなリソースの消費状況を確認する必要があります。
処理能力
CPUの使用率などを監視ソフトウェアなどで継続的に監視します。
大規模アクセスが発生するサービスを支えるサーバーでは、データベースへの同時アクセスが急上昇すると、CPU使用率が100%に達してしまうことがあります。こうなると処理が追いつかず、例えばウェブページが表示されない、スマホアプリにリクエストへのレスポンスが返らないというようなトラブルが発生します。そこで、定期的にCPU使用率をモニターし、CPUの搭載数を増やす、サーバーの台数を増やしてCPU数を増やす、などの対策が必要となります。メモリ
オペレーティングシステムが消費するメモリ量と、アプリケーションが消費するメモリ量の合計が、メモリの消費量になります。
そして、この合計がハードウェアメモリの容量を超えると、メモリ容量を物理的なメモリ容量よりも大きく使えるようにする仮想メモリの仕組みによって、ディスクのスワップ領域へのアクセスが発生し、急激にシステムのパフォーマンスが低下します。
システムが快適な動作をするためにはできるだけスワップ領域へのアクセスを少なくすることが必要です。各メモリの消費量はtopコマンドなどで確認が可能です。
Webサーバーへの集中アクセスが発生するとWebサーバーの子プロセスが多数起動され、メモリを使い果たしてしまうことがあります。この場合は、前述したように、メモリを増設したりCPUを高速化したりするスケールアップや、Webサーバーを複数台設置してロードバランシングするスケールアウトなどの対策が採られます。ディスク容量
メモリやCPUがいくら高速でもハードディスク領域を使い果たしてしまうと、システムが停止してしまいます。ハードディスクが満杯にならないように、消費状況をモニターし、溢れそうな気配があれば増設する準備を進めておく必要があります。ディスクの空き容量は、dfコマンドで確認できます。ユーザー数
システムを利用するユーザー数と同時接続数を、データベース上のユーザーテーブルやWebサーバーのログから確認しておきましょう。使用しているOSやアプリケーションで許諾されているユーザーライセンス数を超えると、利用ができなくなる場合があります。

スケーリングの概要
| スケールアップ | サーバのリソースを増強すること | メモリを増設する、転送速度の高速なタイプに換装する CPUを増設する。コア数の多いものに換装する ディスクを増設する |
| スケールダウン | リソースを縮小してサーバの性能を下げること | |
| スケールアウト | サーバーの台数を増やす | |
| スケールイン | サーバーの台数を減らす |

