この記事では「アプリケーションがなんだか遅い」というトラブルに対する原因分析方法についてガイドします。

 

そもそも、情報システム部門の皆様が同じ質問を利用者様から受けた場合、どのように対応されてますか?

アプリケーションが遅い原因は様々な要素が考えられます。

  1. パソコン上のウイルス対策ソフトがスキャン中
  2. パソコン上で何かの処理を同時に行っており、CPU、メモリ、HDDなどの負荷が高い状態
  3. 通信経路に障害が発生しており、利用可能な帯域に制限がある状態
  4. サーバー側の不具合が発生している

 

ネットワーク管理者の立場からすると3以外の選択肢を直接証明することは難しいことです。

1と2については、問い合わせ元の利用者とのコミュニケーションによって、切り分け可能です。

また、Pingなどによりネットワークの疎通を確認したり、SNMP監視ツールなどにより、

ネットワーク機器のインターフェイス利用状況を確認できれば、3ではなさそうだ、ということも推測できます。

 

ソーラーウインズの提供するOrionプラットフォームに含まれるQoE機能を活用すると、通信遅延の理由が、

ネットワークにあるのかサーバー側にあるのか、容易に判別ができます。

 

QoE機能のポイントは、ネットワークの応答時間とアプリケーションの応答時間を識別し、それぞれの

遅延状況を分析表示する点にあります。1,200種類以上のアプリケーションを自動的に分類して表示します。

 

図1. データ取得リクエストに対する最初のデータのレスポンスまでにかかる時間をアプリケーションごとに表示図2. TCP 3ウェイハンドシェイク(Syn、Syn-Ack、Ack)にかかる時間をアプリケーションごとに表示
QoE_101.pngQoE_102.png

実際の例で確認してみましょう。

図1と図2のMS SQLを比較すると、データ取得リクエストに対するレスポンスは、平均3.34秒です。

他方、TCP 3ウェイハンドシェイクにかかる時間は、平均279ミリ秒です。

200ミリ秒を超えるTCP 3ウェイハンドシェクは非常に長い、と言えますが、データ取得リクエストに対する

レスポンスにかかる時間の方がはるかに長いと言えます。

このことより、サーバーを調査すればよいということがわかります。

あとはサーバーチームに任せるもよし、SAMのアプリケーションとハードウェアの依存関係を表示する機能

AppStackを用いて詳細に分析することも可能です。

 

スクリーンショット 2017-04-13 10.08.38.png

QoE機能は、Orionプラットフォームの機能ですが、ネットワークパフォーマンス・モニター(NPM)、

もしくはサーバー&アプリケーション・モニター(SAM)のいずれかのライセンスで有効となります。

 

参考資料

トラフィクをネットワークミラーポートから取得し分析

サーバーにインストールしたエージェントを用いてトラフィックを分析

無償ツールで実現する、アプリケーション遅延の原因分析