オンラインセミナー

すでに世界各国でアプリケーションパフォーマンスがビジネスにとって大きな課題となっていることについて、前回の記事(ビジネスにおけるAPMの重要性。世界各国企業の捉え方は?)でRiverbed Global Application Performance Survey 2015に掲載されたアンケート調査の結果を一部ご紹介いたしました。

簡単に振り返ります。

  • ビジネスの成功のためにアプリケーションパフォーマンスが重要という認識は、経営層の中で広く共有されている。
    • 業績達成のために重要:98%
    • 低下すると自分の業務にネガティブな影響がある:89%

 

  • しかし、ビジネスニーズと現実のアプリケーションパフォーマンスの間には大きなギャップがあり、彼らの業務は頻繁にパフォーマンス低下による悪影響を受けている。
    • パフォーマンスの問題による業務への影響が週一回以上:58%
    • パフォーマンスの問題による業務への影響が毎日:36%

 

  • クラウドアプリケーションの導入によってハイブリッド化し、それがパフォーマンス問題の解決を難しくしている一因であることは理解されている。
    • ネットワークがハイブリッド化したことでエンタープライズアプリケーションのトラブルシューティングが困難になった:83%

 

  • 期待するアプリケーションパフォーマンスを実現できた場合のメリットも、できなかった場合のデメリットも承知したうえで、クラウドの利用は今後も推進していく。
    • ネットワークがハイブリッド化したことでエンタープライズアプリケーションのトラブルシューティングが困難になった:83%
    • クラウドベースのアプリケーションの利用を今後2年間でさらに増やしたい:84%

 

また、今後こうした課題を解決するためにAPMを推し進めていくという方のために、アプリケーションパフォーマンス分析の5つの代表的なステップを挙げました。

APM_5step.png

  1. Baseline
  2. Monitoring End User Experience
  3. Tracking & Diagnosis
  4. Automate Processes
  5. Analytics

 

今回は実践編です。

アプリケーションパフォーマンス分析の流れについて、APMツールであるCloudTriageを使って具体的な内容を解説していきたいと思います。

 

環境について

今回は誰でも利用できるようにCloudTriageのセルフデモの “ハイブリッドクラウド環境(OnPre with AWS)”を使ってご説明します。

 セルフデモフォームから誰でもご利用できますので、以下のリンクからお申込みください。

セルフデモの利用はこちら

 

・フォームに情報を入力して[送信]をクリックすると、セルフデモページへリダイレクトします。

・シナリオ“ハイブリッドクラウド環境(OnPre with AWS)”を選び、[デモを開始する]をクリックしてください。

selfdemo_login.png

 

パフォーマンス分析の5つのステップ

① Baseline

アプリケーションパフォーマンス分析の最初のステップは、兎にも角にも情報を収集することです。そして集めた情報から「いつもの値」を把握します。

これはパフォーマンス劣化が起きたか否かを判断するための基準となる重要な情報です。

 

多くの監視ツールでは、集めた情報をグラフ化して直感的に把握しやすい形で表示してくれたり、閾値を設定してアラートを発信したりする仕組みを持っているでしょう。

 

ただし、閾値を超えることが即ち異常ではない場合がある点に注意が必要です。

 

「いつもの値」は時間帯、曜日などで大きく異なります。

例えば、毎朝全社員がログインするようなシステムの場合、業務開始時刻の前後に必ず負荷が高くなります。早朝の時間帯を基準として閾値を設定した場合、別の時間帯で異常な負荷が発生したとしても早朝の負荷を超えない限り検知されず、アプリケーションパフォーマンスの低下を見逃してしまう恐れがあります。

一方、こうした事態を避けるために閾値を低めに設定してしまうと、今度は毎朝アラートが送信されることになります。検知されないよりは良いという見方もできますが、山のように集まる誤報の中から、本当のアラートを見つけ出すのは非常に困難です。

 

こうした課題を解決するために「いつもの値」をベースに、時間帯ごとに閾値を自動的に設定する機能を、オートベースライン機能といいます。

 

img_slowdown02.gif

CloudTriageは過去の統計データをもとに、自動的に上限と下限のしきい値を自動設定します。“いつもの値”は時間帯ごとに変化するため、しきい値もそれに合わせて変化します。

※注

今回のセルフデモでは、機能が制限されているため、オートベースライン機能で自動設定された閾値をご覧いただくことができません。

ご覧になりたい場合は、オンラインデモでご覧いただくことができます。ご希望の方はこちらからお申込みください。

 

Baselineのポイント

“いつもの値”を把握することで、パフォーマンス測定の判断基準を持つこと

 

② Monitoring End User Experience

アプリケーションパフォーマンス分析の次のステップは、エンドユーザーエクスペリエンス(エンドユーザー視点の体感品質)の測定です。

実際にアプリケーションを使うユーザーが感じているレスポンスを測定します。レスポンスの良さは、ユーザーを獲得し、継続的につなぎ止めておくために重要な要素です。これはオンラインビジネスだけの話でなく、社内システムにも当てはまります。

 

ユーザーエクスペリエンス(ユーザー体感品質)を計測するにあたり、個々のシステムの監視結果だけを見ていては、ユーザーの体感品質を正確に把握することは困難です。

もっとも大事なことは「ユーザーが体感している遅延」を知ることです。その方法の一つとしてエンドツーエンドでレスポンスタイムを測定する手法が注目されています。

 

CloudTriageではエミュレーション端末がユーザーの一連の操作を模倣し、操作ごとのレスポンスタイムを測定しユーザー体感品質を可視化します。また、アプリケーションの種類を問わず様々なシステムで利用できるため、幅広いシステムでユーザー体感品質を把握できます。

詳しくはQoEのページを参照

 

エンドユーザーエクスペリエンスの参照手順

1.ログインすると最初にHome画面が開きます。Servicesをクリックします。

blog20160202-01.png

2.zapstore(ECサイトサービス)でエラーが発生しています。このサービスのアイコンをクリックします。

blog20160202-02.png

  • Webトランザクション監視画面

blog20160202-webtrs.png

操作ごとにレスポンスタイムが計測されており、操作ごとの遅延の発生状況が一目で分かります。

 

Monitoring End User Experienceのポイント

システム監視結果だけでは、ユーザーが感じているパフォーマンス低下は分からない。

システムのユーザーが感じている“遅い”を数値化し、ユーザー体感品質を知ることがアプリケーションパフォーマンス改善の第一歩。

 

③ Tracking & Diagnosis

アプリケーションパフォーマンス分析の3つ目のステップは、ユーザー体感品質を計測した結果遅延が発生していることが判明した場合、ユーザーへの影響を最小限に抑えるため、可能な限り速やかに遅延を解消するための原因分析です。

 

ユーザーから見ればシンプルに“アプリケーションが遅い”“システムが遅い”ように見えますが、調査する側にとってはそう簡単ではありません。

Webアプリケーションの遅延を例にすると、Webサーバ、APサーバ、データベース、ネットワークなど、パフォーマンスを劣化させる原因となるポイントが多数あり、どこに原因があるか分かりません。

アプリケーションだけでなく、ネットワーク・データベース・仮想化基盤などのインフラを含め、システム全体の相関関係からパフォーマンスボトルネックを特定する必要があります。

 

CloudTriageではシステム全体の相関関係を俯瞰した上で、的確にパフォーマンスボトルネックを特定します。

さらに根本原因が含まれるコンポーネントをさらにドリルダウンしていき、レイヤレベル、コードレベルの原因まで追跡することができるようになっています。

 

Tracking & Diagnosisの参照手順

3.実行時間が遅くなっているトランザクションをクリックします。

blog20160202-03.png

 

  • トポロジー図

blog20160202-topology.png

クラウドもオンプレも一つのサービスとして監視されます。

色はトラブルの影響を表しています。重要度の高いエラーは赤色、その影響を受けている個所はオレンジや黄色で表示されます。

 

4.トポロジー上でクリティカルなエラーが発生しているコンポーネントをクリックします。

blog20160202-04.png

 

5.トポロジー上でクリティカルなエラーが発生しているコンポーネントをさらにクリックします。

blog20160202-05.png

レイヤ

指定したコンポーネントの監視ステータスがOSレベルからアプリケーションレベルまで、レイヤごとに表示されます。

blog20160202-layer.png

 

6.エラーの出ているレイヤ“JVM Internals”をクリックして監視項目を展開します。

blog20160202-06.png

 

7.エラーの出ている監視対象“JVM Threads”をクリックして右のウインドウに監視情報を表示します。

blog20160202-07.png

 

8.クリティカルなエラーが出ているHigh CPU threadsの虫眼鏡のアイコンをクリックします

blog20160202-08.png

 

  • Diagnosis(サマリ、グラフなど)

blog20160202-diagnosis.png

パフォーマンスボトルネックのポイントをコードレベルで特定し、
具体的な修正ポイントを提示します。

 

Tracking & Diagnosisのポイント

アプリケーションパフォーマンスの低下はアプリケーションが原因とは限らない。ネットワーク、データベース、サーバなどを含めて全体を俯瞰した監視が必要。

切り分けに必要な情報を集め、改善すべきポイントを即座に判断できるようにすること。

 

④ Automate Processes

ITの生産性を最適化する運用リスクを軽減し、高い生産性の確保や、カスタマーサービスの改善を実現するためには、アプリケーションパフォーマンス管理を可能な限り自動化し、最小限の操作と管理スピードの向上を目指すべきです。

 

アンケートにあったように、クラウド化、ハイブリッド化でネットワーク環境が複雑化することによってトラブルシューティングがより困難になり、管理者の負担が増しています。

アプリケーションパフォーマンス管理ツールの機能を活用すれば、パフォーマンス管理の一部を自動化でき、管理者に集中する負担を多くの面で解消できます。

 

CloudTriageは、最もノウハウが必要で手間のかかるパフォーマンスボトルネックの特定がほぼ自動化されています。

データ収集から、パフォーマンス遅延が発生した際のボトルネック分析までの業務は全部自動化されています。

 

具体的には、ここまでご覧いただいた

 

  1. Baseline
  2. Monitoring End User Experience
  3. Tracking & Diagnosis

 

までの3ステップはすべて自動化されています。

パフォーマンス劣化やシステム障害が管理者に通知された時点で、既にボトルネックの原因解析までが完了しており、調査結果を入手できます。

 

自動解析機能のない監視ツールアラートを受け取ると原因調査のための情報収集と分析をする必要がありますが、自動解析されていればアラートを受け取った時点ですでに原因調査が完了しています。つまり、管理者は即座に改善のためのアクションに取り掛かることができます。

最も時間のかかるパフォーマンスボトルネックの原因特定が自動化されれば、問題解決のスピードが飛躍的に向上します。

 

Automate Processesのポイント

アプリケーションパフォーマンス管理において多くの時間と手間を必要とするのが原因特定調査。

長期化することでビジネスなどへの影響が懸念される場合、①~③を自動化してパフォーマンス改善に要する時間を可能な限り短縮すること。

 

⑤ Analytics

アプリケーションパフォーマンス分析の5つ目のステップは分析です。モニタリングに分析の仕組みを取り入れた監視システムを構築します。その目的はアプリケーションパフォーマンスの低下を未然に防ぐことにあり、プロアクティブな監視や適切なキャパシティプランニングを駆使して業務効率の向上を目指します。

このステップではアプリケーションパフォーマンスが低下した時だけではなく、その予兆も検知対象になります。

 

①でご紹介したオートベースライン機能は、アプリケーションパフォーマンス低下の予兆検知にも効果的です。“いつもの値”と大きく異なる負荷が検知された時点でアラートを送信することで、パフォーマンス低下の予兆を管理者に知らせます。

プロアクティブな予兆検知とパフォーマンスボトルネックの原因特定の自動化を組み合わせることで、ユーザーがアプリケーションパフォーマンスの低下に気づく前に予兆を検知し、原因を特定でき、パフォーマンスの劣化にも迅速に対応できます。

 

Analyticsのポイント

アプリケーションパフォーマンス低下の予兆をキャッチし、障害として表面化(ユーザーからクレームを受けるなど)する前に対応を開始することが理想的。そのためには“いつもの値”(①Baseline)に基づく予兆検知が不可欠。

また、システムの増強が必要と判断された場合は、ベースラインのトレンドも生かして適切なキャパシティプランを検討すること。

 

まとめ

いかがでしたか。

ビジネスの業績を左右するアプリケーションパフォーマンスを可視化、管理するための5つのステップとそれぞれのポイントをご紹介しました。

CloudTriageの画面はセルフデモで誰でもご覧いただけるようになっています。

アプリケーションパフォーマンス管理が課題になっている、という方や、APMツールがどんなものか操作してみたい、という方は、こちらからご利用ください

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

banner_ebook02a.jpg

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

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

最新記事