ウェブサイト

サイトのパフォーマンスとAPM

Application Performance Monitoring tells you where your site's time actually goes: response time percentiles, the slowest URLs, the slowest database queries, and how hard PHP is working. This guide…

Application Performance Monitoring(APM)は、サイトの時間がどこに費やされているかを示します: レスポンスタイムのパーセンタイル、最も遅いURL、最も遅いデータベースクエリ、PHPがどのくらい動作しているかです。このガイドではAPMを有効化する方法、各パネルの読み方、その結果に基づいて行動する方法を説明します。

KPanel内のAPMの場所

  1. KPanelにサインインします。
  2. 左のサイドバーでWebsitesをクリックし、サイトをクリックします。
  3. サイトのタブストリップでWordPressを開き、次にAPMを開きます。

直接アドレスは/websites/<site-id>/performanceです。

KPanel内のサイトのアプリケーションパフォーマンスモニタリング

APMはプランの付属機能です。Managed WordPress Proに含まれています。他のプランではダッシュボードではなく、APMがカバーする内容を説明するアップグレードパネルが表示されます。そのパネルが表示される場合、その機能は現在のプランでは利用できません。オフに切られているのではなく、利用不可です。

APMをオンにする

APMを有効化するまではオフのままです。適格なプランでは、Application Performance MonitoringカードにEnable APMボタンが表示されます。

これを有効化すると、軽量なアクセスログとPHP ワーカーレベルでのスロー リクエストトラッカーが追加されます。ページに何も挿入されず、訪問者のリクエストに追加の負荷が生じないため、永続的にオンのままにしても安全です。

有効化されると、ページにAPM Activeピル(スイッチがオンになった日付付き)、Refreshボタン、Disable APMボタンが表示されます。メトリクスは実際のトラフィックが到着してから表示されるため、トラフィックの少ないサイトはしばらくWaiting for requestsと表示されます。

レスポンスタイム

最初のカードには過去1時間の4つの数値が含まれており、ヘッダーにはリクエスト数とキャプチャ時間があります。

メトリックその意味
Median(P50)リクエストの半分はこれより高速でした
P95リクエストの95パーセントはこれより高速でした
P99リクエストの99パーセントはこれより高速でした
5xx Error Rateサーバーエラーで失敗したリクエストの割合

各タイルは色分けされているため、閾値を知らなくても状態を読み取ることができます。

パーセンタイルは個別ではなく、一緒に読んでください。良好なメディアンと悪いP95の組み合わせは、ほとんどのリクエストは正常でマイノリティが遅いことを意味します。これは1つの遅いページ、1つの遅いクエリ、または特定のURLでキャッシュミスが発生することの典型的な特徴です。悪いメディアンはサイト全体が遅く、原因は通常構造的なものです: プランが小さすぎる、テーマが重い、またはキャッシングがオフになっているなどです。

5xxエラーレートは唯一ゼロであるべき数値です。ゼロを超える継続的な値は、訪問者がエラーを目撃していることを意味します。

PHPワーカー

PHP Workersカードは3つの数値を表示します:

  • Active Workers: 現在リクエストを処理しているPHPプロセスの数。
  • Slow Requests: スロー リクエスト閾値を超えてログされたリクエスト。
  • Total Handled: プールが開始してから受け入れた接続。

アクティブワーカーは飽和信号です。通常のトラフィック中にキャップの近くに固定されている場合、リクエストはPHPの後ろでキューイングされており、上記のページのすべてのレスポンスタイムは一部がキュー時間です。これはコード問題ではなく、容量問題であり、修正はより大きなプランまたはリクエストあたりの処理を減らすことです。

スロー リクエスト数が増加しながらリクエスト量が安定している場合、何かが高額になったことを意味します。

最も遅いエンドポイント

このカードは、P95レスポンスタイムで最も遅いURLをリストします。各URLにはバー、ミリ秒単位のP95、および受け取ったコール数が表示されます。色は最悪のオフェンダーをマークします。

リーダーボードではなくショートリストとして読んでください。最も重要なのは、遅くて頻繁に呼ばれるエンドポイントの交差点です: 4秒かかり1日2回ヒットされるページは、900ミリ秒かかり1日10,000回ヒットされるページよりはるかに重要度が低いです。

一般的な問題:

  • インデックスなしでスキャンする検索ページ。
  • リクエストごとに大規模なクエリを構築するカテゴリおよびアーカイブリスト。
  • カート、チェックアウト、およびアカウントページ: これらはビジター単位で変更されるためキャッシュされません。キャッシュによって意図的にバイパスされるパスについてはSite Cachingを参照してください。
  • 管理URLは常に動的です。
  • リクエスト内で外部APIを呼び出すあらゆるもの: 他のサーバーの測定値です。

スロークエリ

Slow Queriesカードは、データベースの独自のパフォーマンスデータから取得された、平均100ミリ秒を超えるデータベースクエリをリストします。各行は平均時間、最大時間、コール数、および正規化されたクエリテキストを示します。

クエリテキストはダイジェストで、リテラル値が削除されているため、異なるパラメータを持つ同じクエリは1つの行にグループ化されます。これがコール数を意味のあるものにします。

スロークエリの修正は通常3つのうちの1つです: クエリが必要とするインデックスを追加する、クエリの結果をキャッシュすることで実行回数を減らす、またはそれを生成するプラグインを削除することです。非常に高いコール数と中程度の平均を持つクエリは、大きな単一の異常値よりも集計では悪いことが多いです。

エンドポイントとクエリの両方のリストが空の場合、カードは遅いリクエストが検出されなかったと表示されます。これは過去1時間のすべてが正常な閾値内にあったことを意味します。

APMをうまく使用する

ベースラインを取得してください。 サイトが健全な場合は数値を確認して、正常な状態がどのようなものかを把握してください。P95が700ミリ秒というのは、かつて300だったと分かるまで意味がありません。

1つずつ変更してください。 キャッシュを有効化し、更新して比較します。疑わしいプラグインを無効化し、更新して比較します。バッチ変更では信号が得られません。

意図的に更新してください。 Refreshボタンはメトリクスをオンデマンドで再読み込みします。数値は過去1時間をカバーするため、判断する前に変更に少し時間を与えてください。

APM外も確認してください。 APMはアプリケーションを測定します。問題がコードではなくネットワークやエッジにある場合、Site Traffic AnalyticsSite Uptime Monitoringが代わりに表示されます。

トラブルシューティング

ページがアップグレードパネルを表示している。 APMはManaged WordPress Proに含まれています。他のプランでは利用できません。

APMはオンですがメトリクスがありません。 トラフィックはまだありません。サイトがリクエストを受け取ると、メトリクスが表示されます。

APMではレスポンスタイムは良好ですがサイトが遅く感じられます。 APMはサーバー側の時間のみを測定します。画像のダウンロード、JavaScriptの実行、ブラウザでのフォント読み込みに費やされた時間はここでは見えません。サーバー時間が良好でページがまだ遅く感じられる場合、問題はフロントエンドまたはブラウザに要求しているものにあります。

プラグイン更新後P95が悪化しました。 最も遅いエンドポイントリストを確認し、次にスロークエリリストを確認してください。ページロードごとにクエリを追加したプラグインは両方に表示されます。

すべてが常に遅い。 最初にPHPワーカーの飽和度を確認してください。ワーカーが固定されている場合、他のものを最適化する前に容量を追加するか、リクエストあたりの作業を減らしてください。

エラーがゼロを超えている。 ミリ秒を追求する前にこれらを修正してください。ログから始めて、サイトのError pagesタブのTroubleshoot with Koraボタンを使用します。これはKoraにエラーログと最近の障害を読み取るように依頼します。Custom Error Pagesを参照してください。

関連ページ

  • Site Cachingは通常、WordPressサイトの単一で最大の改善です。
  • Site Securityは同じサイト上の脆弱性とマルウェアスキャンについてです。
  • Taking a Backupプラグインの削除を開始する前に。

それでもお困りですか?

こちらまでメールでお問い合わせください support@kapsulehost.com またはKPanelでチャットを開いてください。

KPanel を開く
サイトのパフォーマンスとAPM