クエリモニター-WordPressのパフォーマンスを簡単にデバッグおよび改善

公開: 2022-05-16

このチュートリアルでは、Query Monitorプラグインを使用して、WordPressサイトのパフォーマンスが低下する理由を見つける方法を学習します。

ボトルネックが見つかるまでプラグインを非アクティブ化することは、通常、問題のあるプラグインを特定するための最良の方法です。

ただし、それを行うためのより効率的で高速な方法があります。 この問題を解決するために、クエリモニターが作成されました。 WordPressサイトがより効率的になり、パフォーマンスの問題をデバッグでき、サイトをよりよく理解できるようになります。

目次

クエリとは何ですか?

「クエリ」は、データベースからの情報の要求です。 WordPressがデータベースから情報を要求するとき、クエリを使用してそれを行います。

誰かがあなたのウェブサイトにアクセスすると、バックグラウンドでいくつかのクエリが起動されます。 これらのクエリを追跡することにより、次のことができます。

  • Webサイトのパフォーマンスに最も影響を与えるプラグインまたはテーマを特定します。 各クエリには時間がかかり、ツールからのリクエストが多いほど、サイトのパフォーマンスに与える影響が大きくなります。
  • 使用しているリソースを追跡します。 一部のクエリ監視ツールを使用すると、使用しているRAMの量と、情報が正常にキャッシュされている量を確認できます。
  • トラブルシューティングスキルを向上させます。 クエリを追跡する方法を知っていれば、多くの問題をより迅速にトラブルシューティングできます。 たとえば、プラグインが正しく動作していない場合は、クエリが正しくトリガーされていない可能性があります。

クエリ監視を使用してサイトのパフォーマンスを向上させることにより、どのプラグインまたはテーマが最も多くのリソースを使用しているかを特定できます。

クエリモニターとは何ですか?

Query Monitorは、WordPress Webサイトをデバッグし、そのパフォーマンスを評価するための無料のツールです。 アプリケーションは、データベースクエリ、HTTPリクエスト、フックとアクションなど、サーバーに対して行われているすべてのリクエストを分析します。 読み込み時間の問題の原因となるプラグイン、スクリプト、またはデータベースクエリを特定するには、このツールを使用します。

クエリモニタープラグインを使用して、Webサイトのパフォーマンスの問題が明らかな原因によるものなのか、それともより複雑な問題によるものなのかを判断できます。

クエリモニターのさまざまな機能?

クエリモニターのいくつかの機能は次のとおりです。

  • PHPエラー
  • テーマエラー
  • REST API
  • AJAX呼び出し
  • 認証
  • プライバシーに関する声明

次に、これらの機能について詳しく見ていきましょう。

PHPエラー

PHPコードは、WordPressでリクエストを生成するテーマまたはプラグインのいずれかによって生成されます。 PHPエラーを使用すると、エラーの原因となったコンポーネントと場所を特定できます。

テーマエラー

テーマによってトリガーされたすべてのクエリは、テーマ機能ごとに一覧表示されます。 各クエリのテーマテンプレート名と階層が表示されます。 さらに、まだロードされていないテーマの部分と、アクティブなテーマの名前が強調表示されます。

REST API

クエリモニターを使用すると、権限がある場合、認証されたWordPressRESTAPIリクエストヘッダー内に含まれる情報をデバッグできます。 ただし、プラグインは現在、PHPエラーとメモリ使用量のみを表示します。

AJAX呼び出し

Ajaxは、動的なWordPressサイトで使用され、Webページ全体をロードせずにリアルタイムでデータを送受信します。 Query Monitorは、これらの要求とと​​もに関連するデバッグ情報も提供します。 これらの詳細は、開発者がエラーをより簡単に特定するのに役立ちます。

認証

WordPress Multisiteのスーパー管理者と単一サイトのインストールの管理者は、デフォルトでログを表示できます。 ユーザーとしてログインしている場合でも、認証Cookieを使用してログを表示できます。

プライバシーに関する声明

ユーザーのプライバシーを確​​保するWordPressQueryMonitorによってデータが収集されたり、サードパーティに送信されたりすることはありません。 この機能により、プラグインの信頼性と信頼性が大幅に向上します。

クエリモニターの目的は?

クエリモニターを使用してデバッグできるのは、WordPressクエリだけではありません。

プラグインの主な利点の1つとして、クエリモニターはデータベースクエリのデバッグに役立ちます。

また、パフォーマンスと一般的な開発に固有のデバッグについても説明します。 クエリモニターには、主に「インザモーメント」デバッグに使用されるという大きな制限があります。 データベースクエリは、タイミングなどが表示されている場合にのみ、現在のページの読み込みに対して表示されます。

クエリモニターをインストールするにはどうすればいいですか?

クエリモニターのインストールはWordPressで非常に簡単です。

  • WordPressダッシュボードにログインします
  • 左側のメニューから[プラグイン]->[新規追加]をクリックします
  • 「クエリモニター」を検索し、インストールしてアクティブ化します。

クエリモニターはどのように機能しますか?

WordPressクエリモニターには、左側のメニューに独自のタブや別のインターフェイスがありません。 むしろ、フロントエンドとバックエンドの両方のWP管理バーに表示されます。

最初は4つの情報のみが表示されます

  1. ページ生成時間
  2. ピークメモリ使用量
  3. SQLクエリにかかった合計時間
  4. SQLクエリの総数
クエリモニター

それをクリックすると、クエリモニターインターフェイスがフロントエンドとバックエンドのページにウィンドウオーバーレイとして表示されます。 クエリモニターインターフェイスとその情報は、管理者またはスーパー管理者にのみ表示されます。

次に、これらのタブを詳しく見てみましょう

概要

このタブには、管理バーの概要からの追加情報と、いくつかの一般的な環境データ/情報が表示されます。 それは単に概要です。

クエリ

[クエリ]タブでは、現在のページの各データベースクエリを調べることができます。 これは、QueryMonitorの最も情報量の多いセクションの1つです。 次の情報が表示されます。

  • 完全な形式でクエリ
  • 発信者に問い合わせる
  • クエリコンポーネント(コア、テーマ、プラグインからのものかどうか)
  • 行の数
  • クエリにかかった時間

これは、サイトの速度を低下させている読み込みの遅いクエリを見つけるなど、さまざまな目的に使用できます。

クエリモニターは、テーマや個々のプラグインごとに問い合わせを分類するため、各拡張機能がサイトにどのように影響するかを確認できます。

ここで異常に低い数値が表示される場合は、キャッシュが原因である可能性があります。

3つのサブメニューがあります。

  • 重複クエリ

デバッグと合理化を支援するために、重複する検索が表示され、「考えられるトラブルメーカー」が一覧表示されます。

  • 発信者によるクエリ

このページですべての発信者を表示できます。 いずれかを選択すると、発信者のクエリのリストが表示されます。

  • コンポーネントごとのクエリ

WPコア、テーマ、および特定のプラグインによって実行されたすべてのクエリのリストを提供します。

ログ

[ログ]タブは、メッセージと変数をログに記録できるより高度なタブです。 これは、技術的な問題のトラブルシューティングや、サイトの問題の監視に役立つ場合があります。

ロギング変数を構成していないため、Query Monitorを最初にインストールすると、このタブは空白になります。

リクエスト

現在のリクエストのクエリ変数は、メインのリクエストページに表示されます。 3つのサブメニューがあります

a。 リクエストヘッダー

b。 応答ヘッダー

c。 使用中のフック

管理画面

WordPress管理ダッシュボードでクエリモニターを利用する場合は、[管理]タブが表示されます。 リストテーブルを含む管理パネルを表示すると、カスタムフィルターとアクションが表示されます。 また、get_current_screenの現在のステータスも表示されます。

スクリプト

[スクリプト]タブは、間違いなく、[管理]タブの次に最も役立つパフォーマンスのトラブルシューティング領域です。

このタブには、ページにエンキューされているすべてのJavaScriptと、それらの依存関係および依存関係が表示されます。 また、特定のホストまたは明示的な依存関係/依存関係を持つスクリプトからのスクリプトを識別するためにフィルタリングすることもできます。

スクリプトが増えると、ページサイズが大きくなり、HTTPリクエストが追加されるため、全体としてWebサイトの速度が低下します。 このタブを使用して、さまざまな拡張機能の効果を調査し、各ページに読み込まれるキューに入れられたスクリプトの量を減らすための戦略を特定できます。

スタイル

[スタイル]タブは[スクリプト]タブに似ていますが、JavaScriptの代わりに、キューに入れられたCSSが表示されます。 これは、サイトのパフォーマンスをデバッグするためのもう1つの便利なタブです。

スクリプトと同様に、ページに追加のスタイルシートをロードすると、サイトのロードが遅くなります。

この情報を使用して、Webサイトにロードする必要のあるスタイルシートの数を制限し、ファイルを小さくしてHTTPリクエストを少なくすることができます。

フックとアクション

[フックとアクション]タブには、現在のページのすべてのフックとアクションが優先度とともに表示されます。

アクションに関しては、それぞれを展開して、実際のファイルとそれに関連するコード行を確認できます。 WordPressコア、プラグイン、テーマからコンポーネントごとにアクションを検索することもできます。

この領域は特にパフォーマンス指向ではありませんが、特注の開発には役立ちます。

言語

[言語]タブには、サイトの言語とテキストドメイン、および各拡張子の言語ファイルが表示されます。
多言語サイトをお持ちの場合、および/またはサイトが完全な翻訳パックをカバーしていない言語である場合は、このタブが役立ちます。

HTTPAPI呼び出し

ページの読み込み中に行われたすべてのサーバー側HTTPリクエストのリクエストの詳細、時間、​​およびHTTPステータスコードを提供します。

「HTTPAPI呼び出しなし」は多数のページに表示されるはずです。これは、サイトのパフォーマンスを妨げるものが何もないことを示唆しているため、良い指標です。

機能チェック

機能チェックは、表示している現在のコンテンツにアクセスできるユーザー機能を示します。 これは、さまざまなユーザーがさまざまなフロントエンドまたはバックエンドのマテリアルにアクセスできるかどうかを判断するのに役立ちます。

環境

このタブには、サイトの環境の包括的な概要が表示されます。

  • PHP
  • データベース
  • WordPress
  • サーバ

条件付き

このタブでは、現在のページに適用される条件ステートメントを調べることができます。これは、カスタム開発に役立ちます。

「True」と「False」の両方の条件があります。

クエリモニターを使用する利点は何ですか?

クエリモニターの機能の一部を以下に示します。

  • データベースクエリ、AJAX呼び出し、REST APIリクエスト、およびリダイレクトをすべて監視できます。
  • 各リクエストを担当するWordPressコンポーネントを特定します。
  • 各リクエストの処理にかかる時間と、リクエストが取得するデータを調べます。
  • 遅延したリクエスト、重複したクエリ、およびその他の形式の問題に関する通知が送信されます。

結論

WordPress Webサイトには独自のデータベースが不可欠です。つまり、クエリも処理する必要があります。 これらのクエリを注意深く監視することは、問題のトラブルシューティングを行い、プラグインとテーマが舞台裏で何をしているのかを発見するための優れた方法です。 サイトが複雑になるほど、処理する必要のあるクエリが増えます。

互換性の問題を回避するために、重複するクエリに注意することが重要です。 結果は、コンポーネントごとに分類することもできます。 このようにして、プラグインとテーマによって行われたクエリの数と、それらが予想よりも長くかかる時間を追跡できます。