オンラインセミナー

パフォーマンス測定とは、現在、起きていることを知るためのものである。一般的にはシステム・スローダウンが発生してから、その解決のために計測したり、キャパシティプランを作成するための材料として計測したりすることが多いと思うが、今、起きていることを知るためのものである。

何を当たり前のことを言っているのだとお思いの方も多いと思いますが、以下のポイントをすべて実施できている企業は少ないのが実情ではないだろうか。

パフォーマンス測定の2つのポイント

  1. 適切な項目を測定する
  2. 負荷状態に応じた”いつもの値”を知る

この2つを実現しなければ、複雑なパフォーマンス問題を迅速に解決できない。

1.二通りあるパフォーマンス問題

パフォーマンス問題は突然やってくるものである。パフォーマンス問題といっても大きく二通りあるので、簡単に説明したい。それは、予測可能なパフォーマンス問題と予想外のパフォーマンス問題である。

予測可能なパフォーマンス問題は、人気アイドルのライブチケットの販売時に電話回線がパンクするように、システムが処理できる以上の要求がある状態のことである。監視結果を確認すれば、キャパシティを超える要求があることがすぐにわかるはずである。このような問題は、予め分かっている状況であるため、事前に対策することも可能であるし、意図的に対策しないということも選択できる。

もう一つの予想外のパフォーマンス問題は厄介で、入力負荷についてはキャパシティの範囲内だが、何らかの原因でユーザーエクスペリエンスが悪化している状態である。この場合、問題が発生しているにも関わらず、異常を捉えることができなかったことになり、この問題に関しては、現在の監視は役に立っていないということになる。そして、重要なことは、この問題が意図的なものでないため、早急に問題の調査と復旧作業が必要になることである。

同じパフォーマンス問題でも、発生後の対処はまったく違うものとなる。予測外のパフォーマンス問題は、すべての仕事を停止してでも解決すべき最重要課題になる可能性があり、極力発生して欲しくないパフォーマンス問題である。

2.負荷状態に応じた”いつもの値”を知る

パフォーマンス測定の基本は”いつもの値”を知ることにある。

ある日、私はお客様から一部のネットワーク(VLAN)でまったく通信できないという連絡を受けた。あるネットワークスイッチの情報を確認してもらうとCPU使用率が75%になっていることが分かった。ネットワークループかな?と思い、LANポートのLEDの点滅状況を確認すると激しく点滅しているポートがあることが分かった。後で分かったことだが、CPU使用率のしきい値を80%に設定していたため、アラートは発報されず、さらに“いつものCPU使用率”を把握していなかったので、CPU使用率の異常に気付かなかったということが分かった。

これは極端な例だが、『いつもの値』を知らなければ、この担当者が異常に気付かなかったのと同じようなことになりかねない。

『いつもの値』を知っていれば、異常に気付くことができるし、適切なしきい値やKPIを決めることができる。また、予想外のエラーの発生をいち早く知ることができ、問題の切り分けや解決に充てられる時間を増やすこともできる。

3.『いつもの値』を測定する難しさ、適切な測定項目を決める難しさ

『いつもの値』を知ることが重要であることは多くの方に分かっていただけるのと思うが、具体的に測定しようとすると簡単にはできないもの事実である。

CPU・メモリ・ネットワーク帯域の使用率、ストレージのIOPS、空き容量などを常に見ている運用担当者であればグラフを見ただけで異常に気付くことはできると思うが、膨大な監視項目を人間が常にウォッチするのは現実的ではない。また、監視ツールでしきい値を設定しても、『いつもの値』は曜日や時間で大きく異なるため、スタティックなしきい値では異常を検知できない可能性が高い。

さらに、適切な監視項目を決めることが非常に難しいのも課題になることがある。
予想外のパフォーマンス問題は、「負荷はキャパシティの範囲内であるが、ユーザーエクスペリエンスが悪化している状態」と述べたが、これは監視していない部分にボトルネックがあるためにそう見えるだけで、別のポイントがボトルネックであることを示している。そのため、測定する項目が重要になるのだが、測定すべき項目はコンポーネントによって様々であり、適切な項目を決めることは非常に難しい。

一部のメーカーは推奨する監視項目を公開しているので、参考にしてもらいたい。2週間から1ヵ月程度のデータを収集し、曜日・日時ごとに平均値・中央値などから『いつもの値』を数値化してみるという方法もある。この方法は『いつもの値』を知るためには有効であるが、対象項目が多い事と、異常を検知する仕組みがないという欠点がある。

最近はコンポーネント毎に監視すべき項目を自動設定するシステムや、『いつもの値』を過去の統計データから自動的に計算するようなシステムもある。予想外のパフォーマンス問題がビジネス上の大きな課題になっている、または、パフォーマンス問題発生時のビジネスリスクが大きいという場合は、『いつもの値』から大きく乖離した場合にアラートを発報できる仕組みの導入を検討するべきである。

まとめ

予想外のパフォーマンス問題の発生を素早く知るためには、 『いつもの値』を測定する仕組みとその値から異常を検知する仕組みが必要である。そして、すべての監視対象に適切な項目を測定する必要がある。予想外のパフォーマンス問題の検知ができないという場合は、この仕組みと適切な測定ができていない場合が多い。予想外のシステム・スローダウンが課題になっている場合は、是非、参考にして欲しい。

関連資料・おすすめのコンテンツ・人気の動画 など

banner_ebook02a.jpg

アプリケーションパフォーマンスがビジネスに与える12のインパクト
~Part 1 顧客・消費者へのインパクト編~

アプリケーションパフォーマンスがビジネスの成功に大きな影響を与える様々な要素を、12のカテゴリに分類して解説。Part1では、アプリケーションパフォーマンスがビジネスの成功に与えるインパクトの中でも特に、サービスやアプリケーションを利用する消費者へのインパクトに焦点を当てて解説しています。

最新記事