KinstaのAPMツールを使用すると、New Relicなどのサードパーティの監視サービスを利用しなくても、WordPressサイトのPHPパフォーマンスのボトルネックを特定できます。

すべてのプランで追加料金なしでご利用いただけるAPMツールは、ウェブサイトのトラブルシューティングに非常に役立ちます。APMツールは、WordPressサイトのPHPプロセス、MySQLデータベースクエリ、外部HTTP呼び出しなどに関するタイムスタンプ付きの情報を取得するように設計されています。

APMデータを使用すると、特定のページの読み込みが遅い場合にその真の原因を特定できます。

KinstaのAPMツールは、WordPressサイトの監視に特別に設計されているため、別のCMSまたはフレームワークを使用ているサイトで利用すると、結果が不正確になる可能性があることにご注意ください。したがって、WordPressサイトのみでのご利用をお勧めします。

Important

APMツールは現在オープン・ベータ・テスト中であるため、ご注意ください。APMツールによってサイトで問題が発生した場合は、公式のベータ版フィードバックフォームに記入し、バグレポートを送信してください。

APMツールの用語集

APMツールの使い方をご案内する前に、重要な用語を定義しておきましょう。

APM

「ApplicationPerformanceMonitoring」(アプリケーションのパフォーマンス監視)の略であるAPMは、アプリケーションのパフォーマンスの分析データとその傾向に関する情報を提供するツールです。KinstaのAPMツールは、WordPressサイトのパフォーマンスに関する実用的なデータを提供します。

リクエスト

APMツールという文脈において、リクエストとは、レンダリングのためにPHPの実行を必要とするWordPressサイトへのアクセスを指します。さまざまなクエリ文字列のパラメータを含めるリクエストのURLは該当のトランザクションをトリガーします。

例えば、yourdomain.com/wp-cron.php?arg=1&arg2=2へのリクエストは、/wp-cron.phpトランザクションをトリガーします。

トランザクション

トランザクションとは、WordPressサイトにリクエストを配達するバックエンドアクティビティを指します。例えば、/wp-login.phpへのリクエストのトランザクションには、WordPressサイトのログインページを生成するPHPプロセスが含まれています。

スパン

スパンとは、トランザクション内の単一のプロセスを指します。1つのトランザクションには、階層的に並べたスパンが数百もある場合があります。

たとえば、WooCommerceの顧客アカウントページを生成するトランザクションは、複数のデータベースクエリスパンからなるスパンで構成されている場合があります。

トランザクションサンプル

トランザクションサンプルとは、特定のトランザクションエンドポイント(/single.php、/wp-cron.phpなど)への多くのリクエストの内の一つのリクエストを指します。APMツールでは、3つのサンプルからご選択いただけます。

例えば、APMツールは数十の/wp-cron.phpトランザクションを記録する場合もあります。この場合、最も遅いトランザクションが選択され、トランザクションサンプルになります。

トランザクショントレース

トランザクショントレースは、トランザクションサンプルで発生したすべてのプロセスの完全なタイムラインです。当社のAPMツールのトランザクショントレースは、スパンの期間とタイムスタンプという情報を含むリストです。

トランザクションサンプルのトランザクショントレースタイムライン

トランザクションサンプルのトランザクショントレースタイムライン

スタックトレース

スタックトレースは、単一のスパンの詳細な内訳です。詳細なデバッグの際に役立ちます。中には、特定のPHPファイルやコード行など、実行されたPHPコードに関する非常に詳細な情報が含まれています。

スパンのスタックトレース

スパンのスタックトレース

KinstaのAPMツールを有効にするには

APMツールは、デフォルトで無効になっています。なお、APMツールには追加のサーバーリソースが必要なため、WordPressサイトのパフォーマンスの課題のトラブルシューティング中にのみ有効にすることをお勧めします。

APMツールを有効にするには、MyKinstaダッシュボードにアクセスし、サイトの「監視」画面の「パフォーマンス監視を有効にする」ボタンをクリックします。

MyKinstaのAPMツールを有効にする

MyKinstaのAPMツールを有効にする

APMツールを有効にした後、監視エージェントは、サイトへのリクエストのPHPトランザクションデータの記録を開始します。

監視時間枠を選択するには

デフォルトでは、APMツールで表示されるデータは過去60分間の監視データです。ただし、監視時間枠はカスタマイズ可能であり、以下のオプションからご選択いただけます。

設定を変更するには、時間枠のドロップダウンメニューをクリックしてご希望のオプションを選択します。

APMツールの監視時間枠の変更

APMツールの監視時間枠の変更

KinstaのAPMツールを更新するには

KinstaのAPMツールでは、設定された時間枠(たとえば、過去30分間、過去60分間など)のパフォーマンス監視データが表示されます。混乱が起きないように、APMツールのデータは自動的に更新されません。APMツールを更新して選択した時間枠の最新データを表示するには、APMツール画面の上部にある「パフォーマンス監視」の横にある「更新」ボタンをクリックします。

「更新」ボタンをクリックしてAPMのデータを更新

「更新」ボタンをクリックしてAPMのデータを更新

APMツールのデータの読み方

データの記録はAPMツールが有効になるまで開始されないため、サイトのパフォーマンスデータを収集されるまでしばらく時間がかかります。監視データを調査する前に、5〜10分程度待機することをお勧めします。

その後、次の重要なデータを確認してください。

APMツール:合計トランザクション時間

「合計トランザクション時間」の棒グラフでは、選択した時間枠のトランザクションのデータが表示されます。各棒は、PHP、MySQL、Redis、および外部トランザクションの時間の多色の内訳です。「合計トランザクション時間」グラフの右上には、選択した時間枠の平均トランザクション時間も表示されます。

「合計トランザクション時間」の棒グラフ

「合計トランザクション時間」の棒グラフ

APMツール:最も遅いトランザクション

遅いPHPトランザクションのトップ10は、この画面の「最も遅いトランザクション」セクションに表示されます。このセクションは、「トランザクション」、「合計期間(%)」、「合計期間」、「最大期間」、「平均期間」、「1分あたりの割合」の6つの列に分かれています。

  1. トランザクション:PHPの時間を最も多く使用した低速リクエストのトランザクションエンドポイントを表示します(例:/wp-cron.php、/wp-jsonなど)。
  2. 合計期間(%):選択した時間枠内にトランザクションエンドポイントによって使用された時間の割合。期間のパーセンテージは「期間(時間)」の値をベースにして計算されるため、個々のトランザクションサンプルの期間を表すものでもありません。
  3. 合計期間:選択した時間枠内にトランザクションエンドポイントによって使用された合計時間。期間は、個々のトランザクションサンプルの期間を表すものではなく、エンドポイントへのすべてのリクエストの期間の合計を示すことにご注意ください。
  4. 最大期間:選択した時間枠の最も遅いトランザクションサンプル期間。
  5. 平均期間:選択した時間枠内のすべてのトランザクションサンプル期間の平均。
  6. 1分あたりの割合 選択した時間枠内でトランザクションが1分あたり実行された回数の平均。
KinstaのAPMツールで見た最も遅いトランザクション

KinstaのAPMツールで見た最も遅いトランザクション

APMツール:トランザクションサンプル

「最も遅いトランザクション」リストであるトランザクションをクリックすると、選択した時間枠の最大3つのトランザクションサンプルを含むモーダルが表示されます。

  1. 最も遅いサンプル:あるトランザクションエンドポイントの最も遅いトランザクションサンプル。
  2. 95パーセンタイル:95パーセンタイルのトランザクション。(トランザクションの95%は、このトランザクションサンプルより高速です。)
  3. 50パーセンタイル50パーセンタイルのトランザクション。(トランザクションの50%は、このトランザクションサンプルより高速です。)中央値とも呼ばれます。このトランザクションより速いトランザクションの数とこのトランザクションより遅いトランザクションの数がまったく同じであるため、トランザクションの一般的な長さと考えることができます。
KinstaのAPMツールのトランザクションサンプルのモーダル

KinstaのAPMツールのトランザクションサンプルのモーダル

十分な監視データがある場合、APMツールは3つのトランザクションサンプルを表示します。十分なデータがない場合は、1つまたは2つのサンプルが表示されることがあります。たとえば、「最も遅いサンプル」と「95パーセンタイル」のサンプルは、同じトランザクションサンプルせある場合があります。

「トランザクションサンプル」モーダルには、タイムスタンプ、トランザクションエンドポイント、リクエストURL、期間など、各トランザクションサンプルに関する有用な情報も表示されます。

モーダルであるトランザクションサンプルをクリックすると、選択したサンプルの専用ページが表示されます。こちらの「トランザクションサンプル」の画面には、サンプルのタイムスタンプ、トランザクションエンドポイント、URL、期間、HTTPステータスコード、および完全なトランザクショントレースタイムラインがあります。

KinstaのAPMツールのトランザクション情報

KinstaのAPMツールのトランザクション情報

  1. タイムスタンプ:トランザクションサンプルの日付と時刻。
  2. トランザクション:トランザクションサンプルのPHPエンドポイント(例:/wp-cron.php、/single.phpなど)。
  3. URL:トランザクションサンプルのURL。
  4. 期間:トランザクションサンプルの期間(ミリ秒単位)。
  5. 結果:トランザクションのHTTPステータスコード。「HTTP 200」の結果が表示された場合は、トランザクションが正常に実行できました。ただし、「HTTP 503」の結果が表示された場合は、トランザクションがタイムアウトした可能性があります。

各トランザクションサンプルには、独自のパーマリンクま(一意のURL)がありますこれにより、トランザクションサンプルを同僚やKinstaのサポートチームと簡単に共有できます。

トランザクションサンプルのパーマリンク

トランザクションサンプルのパーマリンク

APMツール:トランザクショントレースのタイムライン

KinstaのAPMツールは基本的なトランザクション情報だけではなく、より詳細なトランザクショントレースのタイムラインも提供します。トランザクショントレースのタイムラインでは、スパン(PHPプロセス、MySQLデータベースクエリ、特定のトランザクションサンプルの外部呼び出し)が表示されます。

各スパンの期間と相対タイムスタンプも表示されるため、リクエストの最も遅くて最も問題のある部分をすばやく特定できます。

トランザクションサンプルの合計期間に関しては、次の情報が表示されます。

上記のデータは、該当するサンプルのコンテキストでのスパンの相対的な期間です。したがって、赤いデータが表示されていても、それは該当するサンプルと比較されたデータであることをご了承ください。(サイトやウェブアプリ全体は必ずしも遅くなっているわけではありません。)

MySQLおよびRedisのクエリの場合、0.001ミリ秒未満のスパンは含まれないことにご注意ください。データベースに関連しないスパンの場合、規格値は1ミリ秒です。多数の高速要素を記録するとサイトのパフォーマンスに影響を与える可能性があり、あまり有用なデータが出ないため、短いスパンを意図的に除外します。

KinstaのAPMツールでのトランザクショントレースのタイムライン

KinstaのAPMツールでのトランザクショントレースのタイムライン

この詳細なトレースのタイムラインは、ボトルネックうが特定できるため、パフォーマンスの問題のトラブルシューティングに非常に役立ちます。

たとえば、/wp-admin/admin-ajax.phpは、ソーシャルネットワークAPIへの長いAPIリクエストが原因で発生していることに気付くかもしれません。この知識を身に付けたら、ソーシャルプラグインを無効にしてサイトのテストを続け、違いが生じるかどうかを確認できます。

同様に、キャッシュプリロードプラグインを原因で/wp-cron.phpへの同じHTTPリクエストが何回も発生している遅いトランザクションを見つけた場合は、すばやく対応して、キャッシュプリロード機能を無効にすることができます。

スパンの詳細情報

トランザクショントレースのタイムラインでスパンをクリックすると、スタック全体のトレースとその関連情報を含む詳細な一覧画面が表示されます。

たとえば、MySQLクエリスパンをクリックすると、スタックトレースだけでなく、実行されたデータベースクエリも表示されます。スパンの詳細を調べることにより、WordPressサイトでのPHPトランザクションについてのより深いデータを手に入れることができます。

トランザクションスペースタイムラインでのスパンの詳細情報

トランザクションスペースタイムラインでのスパンの詳細情報

Important

ほとんどの場合、KinstaのAPMツールを原因で発生したパフォーマンス関連の問題の修正は、サポートの範囲外です。WordPressサイトの最適化に関して追加の支援が必要な場合は、当社のパートナーまで問い合わせることをお勧めします。

KinstaのAPMについてのよくある質問

次にKinstaのAPMに関するよくあるご質問とその答えをまとめました。

KinstaのAPMを有効にするにはどうすればよいですか?

KinstaのAPMは、すべてのプランで追加料金なしでご利用いただけます。有効にするには、次の手順に従ってください。

  1. MyKinstaダッシュボードにログインします。
  2. デバッグするウェブサイトをクリックします。
  3. 「監視」タブをクリックします。
  4. 右上の「有効にする「をクリックして、APMを起動します。

KinstaのAPMツールは私のWordPressサイトの速度を低下させますか?

限られた時間中ですが、他社のAPMツールと同様に、KinstaのAPMのエージェントも、サーバーのCPUやRAMのリソースに追加の負担をかけて、WordPressサイトの速度を低下させる可能性があります。

そこで、サイトのパフォーマンスの課題のトラブルシューティング中にのみ有効にすることを強くお勧めします。

個人のNew Relicライセンスを持つ顧客に対して、個人のNew Relicモニタリングを引き続きサポートしますか?

はい、Kinstaは引き続き、個人ライセンスをお持ちのお客様のNewRelicモニタリングをサポートしています。

KinstaのAPMツールとNewRelicを同時に使用することは可能ですか?

KinstaのAPMツールとNewRelicを同時に利用することはお勧めしません。ただし、2つのツールが同時にアクティブ化されない限り、KinstaのAPMとNewRelicを切り替えてご利用になっても問題ありません。

KinstaのAPMツールは他のCMSプラットフォームやフレームワークと互換性がありますか?

現時点では、KinstaのAPMツールは完全に互換性があるのはWordPressのみです。

KinstaのAPMを有効にした後、サイトで予期しない動作が発生した場合はどうすればよいですか?

すでに、さまざまなWordPressバージョンとプラグインを使用して広範なテストを行っていますが、プラグインバージョンやカスタム開発内容などが本監視ソリューションと互換性がないなど、解決すべき課題がまだあるかもしれません。

このため、本機能を有効にするときは、サイトが正常に機能していることを必ず再確認し、異常の動作が見られる場合は、機能を無効にして、お知らせください。問題を調査して解決いたします。

フィードバック

Kinstaでは、WordPressサイトの立ち上げ、開発、管理などの作業をより楽にするツールや機能の設計に努力しております。

KinstaのAPMツールのオープン・ベータ・テストの段階にあたり、お客様の貴重なフィードバックやご指摘などをお待ちしております。当社のチームと連絡を取るにはこちらのフィードバックフォームにご入力ください。ご指摘いただければ幸いです。

まとめ

KinstaのAPMツールでは、WordPressサイトのパフォーマンスの問題の状況を調べることができます。APMツールを使用すると、一般的なメッセージであるHTTP502エラータイムアウトなどではなく、遅いリクエストの詳細な内訳データを入手できます。

KinstaのAPMツールを使用すると、Query Monitorなどのプラグインをインストールしたり、New Relicなどのサードパーティのサービスを利用したりすることなく、パフォーマンスの問題をデバッグできます。

開発者と協力してWordPressサイトの問題に対処している場合、KinstaのAPMツールが開始できるのに必要なデータを提供しますので、時間と費用を節約できます。


このチュートリアルが面白かった方なら、当社のサポートも大好きでしょう。Kinstaのすべてのホスティングプランには、ベテランのWordPress開発者とエンジニアによる24時間365日のサポートが付いています。フォーチュン500のお客様をサポートしているチームとチャットしませんか。当社のプランをご確認ください。