キャパシティプランニングについて

キャパシティプランニングを解説。パフォーマンス要件定義、インフラ稼働状況計測、将来予測、安全率設定でリソース効率化とSLA達成を実現する実務手法を紹介します。

Read in: en
キャパシティプランニングについて

キャパシティプランニングの目的

システムのリソース管理を目的とし、リソースを効率的に利用することを目指す。

キャパシティプランニングのプロセス

キャパシティプランニングは概算と詳細を使い分ける。不必要に詳細に踏み込まないようにし、必要な時に適切な詳細を用意する。

  1. アプリケーションのパフォーマンス要件を定義する

レスポンスタイム、スループット、同時接続数、負荷性能など。

  1. 現在のインフラの稼働状況把握

アプリケーションを構成する各アーキテクチャの要素(Webサーバー、DB、ストレージなど)の負荷特性を計測し、パフォーマンス要件と比較する。

  1. 許容できるパフォーマンスの維持のために、将来的に必要となるものを考える

過去の実績を元に、予算やスケジュールと照らし合わせて、何がどれくらいいつ必要になるかを判断する。

  1. サイジング

アーキテクチャの変更・追加・削除などキャパシティプランに合わせてアーキテクチャを調整する。

計測

システムのメトリクスはアプリケーション固有の性質(ユーザーがどのように機能を使っているか、最も利用されるのいつか?など)と照らし合わせる。

アプリケーションの性能傾向を深く観察することができるため、どこのキャパシティを優先的に考えるべきか検討しやすくなる。

また、ビジネス要件やビジネス指標と関連付けやすくなるため、技術投資への説得力が増す。

パフォーマンスチューニングとキャパシティプランニング

パフォーマンスチューニングは、既存システムのパフォーマンスを最適化することが目的である。

キャパシティプランニングは、既存システムのパフォーマンスを基準とし、システムに必要となるものと必要になる時期を予測する。何を最適化するかは考慮せずに行う。

キャパシティプランニングでは、負荷試験のようなベンチマークよる観察よりも、実際の利用状況に基づく観察を優先させる。

キャパシティプランニングおける目標設定

キャパシティプランニングおいて定めるべき目標は次のような項目となる。

安全率

安全率は、キャパシティプランニングで予測したキャパシティの不確実性に対するリスクヘッジとして乗せるバッファ分の割合のことである。

過去のシステムの性能傾向やアプリケーションの性質に基づいて妥当な割合を決める。

計測ツールの要件

計測による「観察者効果」はキャパシティプランニングおける必要なコストとして受け入れるのが良い。

参考

Tags: キャパシティプランニング
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事