api_monitoring

API計測・監視

モバイルアプリのパフォーマンスは、API通信のレスポンス時間に左右されます。
サーバ間の通信処理はAPIで行われており、これもAPI通信のレスポンス時間に左右されます。
Webブラウザとサーバの間もAPI通信が使われており、API通信のレスポンス時間が大きく影響を及ぼします。

目的

API計測・監視の目的は、APIのレスポンス時間の計測・監視です。
API計測のデータを使うことで、パフォーマンスチューニングに必要な知見を得ることができます。
API監視によって、遅延を検出して、安定配信のための手を即座に打つ事が可能になります。

バックエンド側では、APIはサーバ間やサービス間通信として使われています。
フロントエンド側では、Webページにデータを送信したり、スマートフォンアプリケーションの処理で使われています。
特にiPhoneやAndroidなどの、スマートフォンアプリケーションの画面表示や反応速度の遅延で悩んでいる開発者の方が多いです。

スマートフォンアプリケーションの画面表示は、一見、iPhoneやAndroidの画面表示の処理の問題に見えますが、実際は、サーバと通信してデータを取得するAPIのレスポンスの遅延に起因しています。
API計測を行い、どのAPI処理が遅延していて、その原因は何かを突き止めることで、スマートフォンアプリケーションのパフォーマンスを向上させることが可能です。

実装

Webページ向けAPI

WebページでAPIを使うパターンとしては、以下のようなものがあります。

そのようなデータ取得が遅延すると、当然ながら、Webページの表示速度が遅延します。
APIで顧客に対してデータを提供しているような企業にとっては、APIのレスポンスタイムの監視は、サービス品質の維持・向上に欠かせません。

計測の実装に際しては、そのAPIの処理プロセスだけを抜き出して、使われているRESTなどを発呼して計測します。

スマートフォンアプリケーション向けAPI

スマートフォンアプリケーションで発呼しているHTTPのGETリクエストやPOSTリクエストを使って計測します。
WebSocketを利用している場合には、WebSocket計測でレスポンスを計測します。
一般的には、典型的な画面遷移に基づいて、APIを複数、シーケンシャルに発呼して計測していきます。

バックエンド向けAPI

サーバ間・システム間連携でAPIをバックエンドで利用している場合には、データセンター内での通信となるため、外部から計測できない場合が多いです。
その場合には、Enterprise Nodeという、ベアメタル・仮想、どちらでも設置可能なノードを使って計測します。
AWSやMicrosoft Azure、Oracle Cloudなどのクラウド上に展開したサービスであれば、内部に仮想マシンを立ち上げて頂き、そこに計測システムをインストールして、Enterprise Nodeとして稼働させて計測します。

データ

散布図

APIの散布図

累積分布関数

APIの累積分布関数

個票の詳細データ

各計測には、詳細な個票の詳細データが含まれています。
それぞれに、ヘッダ情報、ボディ情報が含まれています。

APIの個票の詳細データ

アラート/レポート機能

アラート機能

エラー検知
エラーを検知した場合には、即座に、指定のメールアドレスにアラートメールを送信することが可能です。
遅延検知
レスポンス時間、その時間を構成するDNS、TCP/IP 3 way handshakes、SSL、Wait、Loadなどの各指標に閾値を設定し、その値を超えた観測値を計測した場合には、即座に指定のアドレスにアラートメールを送信することが可能です。

レポート機能

日次で、APIのパフォーマンスについて、グラフ化したレポートを指定のメールアドレスに送信することが可能です。

お問い合わせフォーム

本サービスのご相談やお見積り、事例についてなど、お気軽にお問い合わせ下さい。

➡ サービス、製品に関するお問い合わせ