システムのサイジングはベンダーエンジニアの経験と勘に頼っている場合が多い。これは、ビジネスを支えるITシステム全体のサイジングは最終的にはエンジニアの経験やノウハウに依存してしまっているという昔からの課題なのだ。エンジニアの経験・勘・度胸に頼るのではなく、仮説・検証・データ分析という科学的なアプローチが必要だろう。

サイジングが難しい理由

サイジングが難しい理由は(1)机上の理論では想定できない、(2)比例しない性能曲線、(3)実機シミュレーションできない、の3点が考えられる。

(1)机上の理論では想定できない

サーバやストレージ、ネットワーク機器に搭載されるCPUやメモリ、ディスクなどのカタログ情報から計算して想定する方法があるが、システム全体としての負荷状態、ピーク時の負荷状態を想定して机上の理論値を使ったサイジングは困難な作業となる。

(2)システムの性能とパフォーマンスが正比例しない

システムのサイジングは、開発時に本番を想定したデータを使ってテストを行うのが普通である。テストで、顧客の性能要件レベル(例えば、応答時間が5秒以内)を満たしていれば、本番環境では3倍程度で想定すれば大丈夫だろうとサイジングする。しかし、テストでの状況と、本番環境での高負荷がかかった状況において、機器性能とシステム・パフォーマンスは正比例するものではないため、本番環境において問題が発生する場合がある。

(3)実機シミュレーションできない

システムの運用本番と同程度の高負荷状態をシミュレータで作り出して負荷テストを行うことで、本番環境さながらのテストをする。しかし、このようなシミュレータは機器納入後の本番環境におけるテストになるため、事前に行うサイジングの方策にはならない。

いずれの方法でも適切で科学的なシステム・サイジングは難しいため、このような方法をベースにしながらも、結局はエンジニアの経験と勘で決定してしまうのが問題なのである。

パフォーマンス・マネジメントとキャパシティ・マネジメント

経験と勘と度胸で行うサイジングは難しい作業ではあるが、ユーザー企業は、過剰投資による非効率化や過小投資によるシステム障害を回避するために手段を講じる必要がある。それが、パフォーマンス・マネジメントとキャパシティ・マネジメントだ。パフォーマンス・マネジメントとキャパシティ・マネジメントの定義と実行は第2回を参照してほしい。

第2回では、システム・サイジングのミスが障害の原因となっていること、第3回となる今回は、システム・サイジングのKKD問題と改善方法であるKKDを紹介した。次回は、システムを監視することで障害を防止する方法を紹介する。

執筆者紹介

寺澤 慎祐 (てらざわ しんすけ)

日本サイトラインシステムズ株式会社 シニアコンサルタント 兼 株式会社アイトップ 代表取締役

分析指向マーケティングとITマネジメントのスペシャリスト。サン・マイクロシステムズを退職後、企業向けにマーケティングマネジメントとITマネジメントのコンサルティングを行っている。光産業創成大学院大学においてB2Bマーケティングの講師も務める。