速度の遅い API のトラブルシューティング
データの可視化は、トラブルシューティングで重要なツールとなります。Apigee Edge は、API のデータを常に収集し、分析を行っています。可視化は、データの分析、比較、評価に強力な手段となります。
たとえば、サポートコール、ソーシャル メディアサイト、ユーザー フォーラムなどで、お客様から API の速度が遅いという報告があったとします。可視化は問題の解決に役立ちますが、何から始めればよいでしょうか。
考えられる原因の検討とテスト
原因を特定するため、次の点を検討してみましょう。
- 低速が 1 つのアプリでのみ発生しているのか、複数のアプリで確認されているのか。1 つのアプリでのみ確認されている場合は、そのアプリに問題がある可能性があります。
- 複数のユーザーが複数のアプリで問題を確認し、これらのユーザーが同じ地理的場所にいる場合、ネットワークの問題が考えられます。
- 上記のいずれにも該当しない場合、Apigee Edge の問題が考えられます。最近ポリシーを追加または更新した場合は、構成に誤りがある可能性があります。
- レスポンスの合計時間が高くなっていても、エンドポイントの平均レスポンス時間に変化がなければ、Apigee の問題である可能性があります。エンドポイントの平均レスポンス時間が高い場合、Apigee とターゲット サーバーまたは内部アプリケーション サーバー間のネットワークに問題がある可能性があります。
低速の API を可視化する
パフォーマンスが低下している API を特定する場合、すべての API の平均レスポンス時間を比較し、平均値から外れたものを確認する方法があります。
- [APIs] メニューから [API Proxies] を選択します。
- [API Proxies] ページの [Performance] セクションで、[Performance] メニューから [Average Response Time] を選択します。
- 比較する日付の範囲を選択します。
- 比較する API を選択します。
プロットで、応答時間の急激な増加または低下があるかどうか確認します。
カスタム レポートで可視化する
問題の原因と考えられる API がある場合は、選択した指標を比較できるグラフとプロットを含むカスタム レポートを作成します。たとえば、アプリとリソース別に最大レイテンシ時間を可視化します。
- 下記の手順に従って [Custom Reports] ページにアクセスします。
Edge
Edge UI を使用して [Custom Reports] ページにアクセスするには:
- apigee.com/edge にログインします。
- 左側のナビゲーション バーで、[Analyze] > [Custom Reports] > [Reports] を選択します。
Classic Edge(Private Cloud)
Classic Edge UI を使用して [Custom Reports] ページにアクセスするには:
http://ms-ip:9000
にログインします。ここで、ms-ip は、Management Server ノードの IP アドレスまたは DNS 名です。上部のナビゲーション バーで [Analtyics] > [Reports] を選択します。
- [Custom Reports] ページで [+ Custom Report] をクリックします。
- カスタム レポートの基本情報を入力し、サンプリング レートとテストする環境を選択します。
- [Y-Axis Measures] セクションで、[Total Response Time] を選択し、[Aggregate Function] に [Max] を選択します。
- [Drilldowns] で [API Proxy] と [Request Path] を指定します。
結果のレポートを分析する
新しいレイテンシ レポートに、API ごとのレスポンス時間と API 内のリソースごとのレスポンス時間が表示されます。この情報とネットワーク アーキテクチャの情報を組み合わせることで、インフラストラクチャに関連する問題をすばやく見つけることができます。
ドリルダウン
最もパフォーマンスの低い API(最もレイテンシの高い API)をドリルダウンできます。
次のステップ
これで、パフォーマンスの悪いリソースを特定できました。ネットワークを調べて、サービスの問題を確認できます。また、Developer App などの 3 番目のディメンションを追加し、速度の遅いリソースに影響を及ぼしているアプリを確認できます。また、このリソースの影響を受けるデベロッパーを確認することもできます。
Edge API Analytics で問題を特定する方法は 1 つではありませんが、トラブルシューティングでは可視化が重要な役割を果たします。