アプリケーション性能管理(アプリケーションせいのうかんり、、略称: APM)は、ソフトウェアアプリケーションの性能と可用性を監視し、利用者が快適に使える状態を維持する取り組みである。応答時間・エラー率・スループット・資源使用率などの指標を継続的に収集し、性能低下や障害を検知して原因を突き止め、改善につなげる。同じ略称APMは「アプリケーション性能監視」()にも用いられ、監視は性能管理という広い取り組みの一要素と位置づけられる。利用者から「画面の表示が遅い」と申告があってもサーバーのCPUやメモリの使用率は正常なことがあり、アプリケーション内部の処理を可視化して時間のかかる箇所を特定するのがAPMの役割である。ガートナーの市場調査における区分名は、2024年に「APMとオブザーバビリティ」から「オブザーバビリティ・プラットフォーム」へ改められている。

監視の対象と指標 代表的な指標は、要求を処理し終えるまでの時間である応答時間、エラーの発生頻度を表すエラー率、単位時間あたりの処理件数であるスループット、CPUやメモリの資源使用率、クライアントとサーバーの間でデータが行き来するのにかかる時間である遅延(レイテンシ)である。可用性(稼働率)やサービスレベル合意(SLA)の達成度も併せて追跡され、サービスレベル指標・サービスレベル目標の達成状況を測る基盤としても用いられる。

利用者の体感を1つの値で表す指標にはApdex()がある。応答時間を0から1までの指数に変換するもので、目標時間T以内に終わった要求を「満足」、Tを超えて限界時間F以内を「許容」、Fを超えたものを「不満」に分類する。仕様ではFはTの4倍と定められ、指数が1に近いほど利用者集団の満足度が高い。

利用者側からの監視 利用者が体験している品質を捉える手法は2つに分かれる。実際の利用者の操作から性能データを集める受動的な手法をリアルユーザー監視、あらかじめ用意した手順を自動実行して定期的に応答を測る能動的な手法を合成監視(外形監視)という。後者はヘッドレスブラウザなどで操作を模擬し、たとえば電子商取引サイトの決済手続きを一連の流れとして実行して所要時間や成否を確認する。

コードレベルの診断 もう一方の面は、アプリケーション内部の処理を追跡して問題箇所を特定することである。個々の要求がどの処理を経てどれだけ時間を消費したかを記録し、データベース照会や外部サービス呼び出しなどの依存関係も含めて可視化する。コードの実行状況を記録し、処理の遅い箇所や資源を使いすぎている箇所を見つけ出すコードプロファイリングも用いられる。マイクロサービス構成では1回の要求が複数のサービスを横断するため、分散トレーシングによって一連の処理を1つのつながりとして追跡する。

歴史 従来のシステム監視は、サーバーやネットワーク機器が正常に動いているかを確かめることが中心だった。しかし土台のインフラストラクチャーが正常でも、アプリケーション内部にボトルネックがあれば利用者は遅さを感じる。この差を埋めるものが、アプリケーションを利用者から見たサービスとして捉えるAPMである。

利用者の体感を指標化する試みとしては、2004年にピーター・セブチックが提唱した考え方をもとに、2005年にApdexの技術仕様が定式化された。普及を担ったApdex Allianceには2006年までに15社が加盟したが、手法がパブリックドメインにあったため業界団体の必要性は薄れ、以後は国際的な利用者グループが情報サイトの運営などの形で緩やかに支えている。

市場区分としてのAPMは、調査会社ガートナーの定義に強く影響を受けてきた。ガートナーは当初、エンドユーザー体感監視、実行時のアプリケーション構成の検出とモデル化、利用者が定義した処理の追跡、構成要素の詳細な監視、データ分析とレポート作成の5つの側面からAPMを定義し、後にデジタル体験監視、アプリケーションの検出・トレース・診断、レポートと分析の3つへ整理した。現在ガートナーが示す定義では、APMはデジタル体験監視、アプリケーションの検出・トレース・診断、IT運用向けに設計された人工知能(AIOps)で構成される監視ソフトウェア群とされる。

クラウドとマイクロサービスの普及で監視対象の数と発生するデータ量が急増し、従来型のAPM製品の枠では扱いきれない事例が増えた。これに伴い、ガートナーが従来「APMとオブザーバビリティ」と呼んでいたマジック・クアドラント(市場調査レポート)は、2024年版から「オブザーバビリティ・プラットフォーム」に改称されている。

オブザーバビリティとの関係 オブザーバビリティ(可観測性)は、システムが外部に出力するデータから内部の状態を推し量れるようにする考え方であり、メトリック・ログ・トレースといったシグナルを扱う。APMは、このオブザーバビリティを実現するための具体的な手段の1つと位置づけられる。IBMはAPMをオブザーバビリティ製品の前身に当たるものとして説明している。

また、APMは従来のサーバー監視を置き換えるものではなく、互いに補完する関係にある。サーバー監視が「サーバーは正常に動いているか」を確かめるのに対し、APMは「アプリケーションは利用者にとって快適に動いているか」を確かめる。また、性能データを取得するためにアプリケーションへ計測用の処理を組み込む工程では、OpenTelemetryのように特定製品に依存しない標準仕様が広まり、集めたデータの送り先を後から選べるようになっている。

主な製品 APMの機能は単独の製品としても、オブザーバビリティ・プラットフォームの一機能としても提供される。ガートナーによるオブザーバビリティ・プラットフォーム部門のマジック・クアドラント2025年版では、リーダーとしてChronosphere、Datadog、Dynatrace、Elastic、Grafana Labs、IBM、New Relic、Splunkの8社が挙げられた。個別の製品にはDatadog APM、New Relic APM、Splunk Application Performance Monitoring などがある。日本の事業者の製品では、はてなが提供するMackerelがAPM機能を備える。

関連項目 オブザーバビリティ 分散トレーシング OpenTelemetry AIOps ITサービスマネジメント

脚注