Adobe CommerceのNew Relicを使用したパフォーマンスのトラブルシューティング
作成対象:
- 開発者
この記事では、New Relicを使用して、クラウドインフラストラクチャー上でAdobe Commerceのパフォーマンスに関する問題を解決するためのトラブルシューティング手順を説明します。 また、詳しい情報を得るためのリソースも提供します。 次の表で取り上げる問題と、推奨されるリソースは次のとおりです。
- Apdex スコアの低さ
- 高い CPU 使用率
- 高い I/O オペレーション
- 機能停止
Apdex スコアの低さ:
New RelicApdex スコアは、web アプリケーションおよびサービスの応答時間に対するユーザーの満足度を測定します。
New Relic/APM/概要にログインします。 概要ページの右側に、Apdex スコア グラフが表示されます。 Apdex スコアが 0.5 以下の場合は、注意が必要であり、調査が必要であることを保証します。web トランザクションの時間(サーバーリクエスト):
-
-
New Relic/APM/(アプリを選択)/概要にログインします。 メインのグラフドロップダウンフィルターで、フィルターが web トランザクション時間に設定されていることを確認します。 「トランザクション」テーブルの下で、アプリサーバー時間を探します。 長時間実行されているトランザクションや疑わしいトランザクションがあるかどうかを確認します。
-
監視/ トランザクションに移動して個別に調査し、web および最も時間のかかる . のフィルターを設定します。
-
次に、リソースを消費するサードパーティモジュール(支払いプロバイダー、ERP など)を検索します。
-
APM の「監視」セクションで、
- 「取引」をクリックします。
- 下にスクロールし、「すべてのトランザクションテーブルを表示」をクリックします。
- トランザクションを 様々なパラメーターで並べ替えて、疑わしいトランザクションにジャンプさせることができます。
- Apdex スコアが低い、カウントが異常に多い、平均時間が長い、またはディスサット % が高いトランザクションを確認します。
- 個々のトランザクションをクリックします。 この問題が解決できない場合は、 サポートチケットを送信してください。
- さらに調査する必要がある場合は、web 以外のトランザクションの確認を検討します。
-
非 Web トランザクション時間(操作およびバックグラウンド・タスク):
-
- New Relic/APM/(アプリを選択)/概要にログインします。 メイングラフドロップダウンフィルターで非 web トランザクション時間を必ず選択してください。 「トランザクション」 テーブルで個々のトランザクションをクリックします。 長時間実行されているトランザクションや疑わしいトランザクションを探します。 これには、バックエンドジョブ、cron ジョブ、または読み込み/書き出しジョブ(サードパーティを含む)が含まれます。
高い CPU 使用率:
CPU 使用率が高い場合は、MySQL、Redis など、特にビジー状態のサービスがあることを示しています。
- New Relic/インフラストラクチャ/プロセスにログインします。
- CPU グラフを確認して、CPU 時間を 100% 以上使用しているスタックプロセスや高消費プロセスがあるかどうかを確認し、インスタンスのプロセッサー数と比較します。 リソース使用率のピークに注意を払う 停止した cron でない限り、プロセスを強制終了することはお勧めしません。
以前の平均 I/O 操作と比較して、異常なスパイクを探します。
- New Relic/インフラストラクチャ/プロセスにログインします。
- 1 秒あたりの I/O 読み取りバイト数のグラフを確認します。
- スパイクの時間を記録します。
- APM をクリックします。
- メインのグラフ ドロップダウンフィルターで web トランザクション時間を必ず選択してください。
- 記録したスパイクの時間を設定します。
- 高い I/O 操作を引き起こしたトランザクションを検索します。
- 各トランザクショントレース/トレースの詳細にドリルダウンして、問題の原因を調べます。
障害の調査には、Web および Web 以外のトランザクション、データベース、サードパーティのトランザクションの調査など、いくつかの手順が必要になる場合があります。 Web トランザクション:
- New Relic/APM/概要にログインします。 ドロップダウングラフフィルターで、フィルターが「Web トランザクション時間」に設定されていることを確認します。
- 時間枠を手動で絞り込みます。
- 「トランザクション」をクリックします。 フィルターが「Web」に設定され、「最も時間がかかっている」ことを確認します。 最も長く実行されているトランザクションを調査します。
- さらに調査する必要がある場合は、web 以外のトランザクションの確認を検討します。
Web 以外のトランザクション:
- 概要ページに戻り、ドロップダウンフィルターの非 web トランザクションに切り替えます。
- ページの一番下にあるトランザクショントレースを 1 つずつ確認します。
- 問題によっては、ボトルネックを見つけるために、PHP プロファイラのようなサードパーティツールを使用する必要があります。
- さらに調査する必要がある場合は、データベースプロセスの調査を検討します。
データベース プロセス:
-
APM ページで、監視/ データベースに移動します。
-
最も時間がかかる順に並べ替えます。
-
上位のクエリを確認します。
メモ:
UPDATE
または挿入
クエリは、最も CPU を消費するクエリです。 -
並べ替え順セレクターからスループットに切り替え、データベースのスループットがドロップダウンに表示される原因となったプロセスを探します。
-
さらに調査する必要がある場合は、サードパーティのサービスの調査を検討してください。
サードパーティのサービス:
- APM ページで、監視/外部サービスに移動します。
- 「並べ替え基準」ドロップダウンリストから最も遅い平均応答時間を選択します。
- 停止直前に発生したプロセスを探します。