ホームページ  >  記事  >  バックエンド開発  >  新しいレリックに関する WordPress のパフォーマンスの問題を診断する

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

WBOY
WBOYオリジナル
2023-08-26 23:05:161453ブラウズ

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

このチュートリアルは、New Relic を使用した WordPress パフォーマンスのモニタリングで開始したところから継続します。ここでは、WordPress のパフォーマンスの概念的な概要を説明し、New Relic を使用して自分のサイトのパフォーマンスをチェックする手順を説明します。

「Varnish と W3 Total Cache を使用した WordPress の最適化」チュートリアルからここに来た場合は、すでに非常に最適化された WordPress 基盤を持っています。そうでない場合は、記事に戻って確認してください。

WordPress で New Relic を使用する

WordPress は、小規模な個人ブログから大手メディア組織の大規模 Web サイトまでをサポートできる強力なオープンソース ブログ システムです。しかし、実際に WordPress を適切に実行し、コスト効率よく適切に拡張するには、非常に複雑な作業が必要です。

New Relic のパフォーマンス監視サービスは、WordPress 設定がスムーズかつ効率的に実行され続けることを保証する優れた方法を提供します。

注: New Relic は、自社のサービスは、仮想サーバーや共有サーバー (多くのクラウドベースのプロバイダーが提供するものなど) ではなく、専用サーバー上で WordPress を最適化するために使用するのが最適であると警告しています。共有ホスティングで WordPress を実行している場合、専用サーバーで実行されている Web サイトの場合ほど New Relic は役に立たない可能性があります。

このパフォーマンス ガイドに入る前に New Relic について詳しく知りたい場合は、Tuts がサービスに関するさまざまな記事を提供しています。

WordPress の速さ、遅さの原因は何ですか?

2013 年、無料の W3 Total Cache WordPress プラグインの作成者である Frederick Townes は、New Relic のブログ記事「Optimizing WordPress Performance with New Relic」で、考慮する必要があるパフォーマンスの側面について説明しました。これは良い要約ですので、レビューしてみます。

タウンズは、私たちが注力する必要がある中心的な領域を強調しました:

1.ディスクのパフォーマンス。 非共有ローカル ディスクは、常に最も安定した信頼性の高いパフォーマンスを提供します。たとえば、SSD ドライブまたは高速ハード ドライブを搭載したコンソールを使用するのが理想的です。

2. MySQLクエリキャッシュ。 クエリ キャッシュは、一般的なデータベース クエリの結果を保存し、繰り返し実行することなくすぐに結果を返すことができます。 Townes 氏は、データベース構成を最適化するために MySQLTuner を実行することを推奨しています。

3. WordPress テーマおよびプラグインによるクエリの使用。 WordPress はそのまま設定を行っても問題なく動作しますが、サードパーティのプラグインやテーマを追加すると、パフォーマンスの問題を引き起こすさまざまなエラー コードが発生する可能性があります。

4. WordPress テーマとプラグインのファイル サイズ。 ファイル サイズとファイル数を削減すると (したがって HTTP トランザクションが削減されます)、ユーザーの Web サイト エクスペリエンスに大きな影響を与える可能性があります。残念ながら、すべての Cascading Style Sheets (CSS) または JavaScript (JS) を簡単に統合して最小化できるわけではありません。

5.最適化された PHP ですが、比較的遅いです。将来的には、より高速なバージョンの PHP (HHVM など) が WordPress で動作する可能性がありますが、このタスクではまだ安定していないことは理解しています。一方、Townes 氏は一連の提案を行っています。スクリプトのメモリ使用量を減らす、オートロードを使用する、メモリを使用する、ループを回避する、実行時間を短縮する、ディスク呼び出しとメモリ使用量を減らすために開いているファイルの数を最小限に抑える、 インクルードを使用するなどです。 include_oncerequire_once の代わりに、require を使用します。

6. PHP コード用のオープンソース キャッシュ フレームワークである APC などのオペコード キャッシュを使用します。 「APC は、コードの解釈された (実行可能) バージョンをメモリ内に保持するため、APC へのリクエストを再解釈する必要がなくなります。」と Townes 氏は述べています。

「WordPress のオブジェクト キャッシュは、多くの魔法が起こる場所です。WordPress は、ページ リクエストを処理するときにさまざまなオブジェクト グループを生成します。これらのグループは複数の目的に役立ち、WordPress の使用方法に応じて非常に重要です。たとえば、memcached または APC を使用します。バックエンドはパフォーマンスの向上を実現するために永続ストレージ オブジェクトを保存します。"
Townes の W3 Total Cache はこれをページ キャッシュ レベルで実装し、PHP が特定のページのコンテンツの一部を生成できる一方、変更されていないページの大部分はキャッシュされて再生成されない状況を可能にします。

"W3TC では、複数のアプリケーション サーバーから高速アクセスできるように設計された memcached など、MySQL 以外のデータ ストアを選択できます。したがって、各ページ リクエストで訪問者に関する情報や対応する情報を取得する必要はありません。動的要素については、MySQL はテンプレートの動的部分のみに焦点を当て (および調整) できるようになりました。"
タウンズ氏は、「フラグメント キャッシュにより、実行時間が桁違いに短縮されます。」と述べています。

7. ページ キャッシュを使用します。

典型的な Web サイトを拡張するための最も便利な手法は、ページ キャッシュです。ページリクエストごとにスタック全体 (WordPress、テーマ、プラグイン、HTML、MySQL) にアクセスする代わりに、Web キャッシュ (通常はメモリ) から静的 HTML を取得します。キャッシュされていない WordPress サイトのトラフィック スケーリングは数秒でサイトをシャットダウンできますが、メモリ キャッシュ内の事前に作成された HTML ファイルのトラフィック スケーリングは大規模にスケールする可能性があります。

Townes 氏は次のように述べています。「通常、リバース プロキシは、Web アプリケーションとパブリック インターネットの間にキャッシュを提供します。その目的は、その背後にある Web サーバーの負荷を軽減することです。リバース プロキシは、基礎となるアプリケーションによって生成されたコンテンツを返すように最適化されています。 Varnish、Nginx、さらには Apache も、リバース プロキシ機能を提供するように構成できます。」

私は WordPress を拡張するために、Apache および W3 Total Cache で Varnish を使用することが最も多いです。これらの構成に興味がある場合は、「Optimizing WordPress with Varnish and W3 Total Cache (Tuts)」を参照してください。

8.コンテンツ配信ネットワーク (CDN) は、頻繁に使用されるファイルとメディアのためのクラウドベースのキャッシュ サービスです。 Townes 氏は、「CDN を使用すると、Web サイトがどこでホストされているかは関係ありません。訪問者が世界の他の場所にいる場合、CDN は訪問者の近くのコンテンツをキャッシュし、Web サイトの全体的なページ読み込み時間を短縮します。」と述べています。

WordPress を適切に実行するための重要な概念をいくつか理解したところで、New Relic がどのように役立つかを見てみましょう。

New Relic で WordPress を監視する

New Relic は、PHP を含むさまざまなサーバーおよび言語テクノロジで実行されるパフォーマンス監視サービスであり、WordPress の最適化に最適です。

New Relic は、フルスタックのパフォーマンス監視 (エンド ユーザー エクスペリエンス) を提供し、詳細なサーバー監視も提供します。 「New Relic を使用すると、環境内で何が起こっているかを簡単に伝えることができます」と Townes 氏は言います。

New Relic をサーバー上で実行すると、サーバーと PHP に関する詳細なパフォーマンス監視チャートと統計情報を取得できます。これには、応答時間、Apdex スコア (満足のいく応答時間と不満足な応答時間の比)、スループット ボリューム (リクエスト数) が含まれます。 1 分あたり)、ネットワーク トランザクション(サードパーティ API リクエスト、エラー率、最近のイベント、サーバー情報など)。

さらに一歩進んで、New Relic Browser は、最初のページ読み込みをはるかに超えて、ページ全体のライフサイクル データを監視します。エンドユーザーのページが読み込まれるたびに、New Relic Browser は次の情報をキャプチャします: 新しいレリックに関する WordPress のパフォーマンスの問題を診断する

フロントエンド (ブラウザ) に費やした時間

    ブラウザーで実行されるコードとイベント (JavaScript、Ajax、およびエンドユーザー インタラクション)
  • バックエンド (Web および Web アプリ) に費やした時間
  • 地理的起源
  • ブラウザの種類とバージョン、オペレーティング システム
  • すべてのユーザーのデータをグローバルに表示したり、ページ、ブラウザー、ユーザー セッション、場所ごとにデータの断片を表示したりできます。

New Relic Browser については、New Relic Browser によるフロントエンド監視 (Tuts) で詳しく説明します。

New Relic Synthetics を使用すると、世界中のどこにいても Web サイトの定期テストを実施でき、問題が発生した場合はすぐに通知されます。今後のチュートリアルで合成について説明する予定なので、Tuts インストラクターのページにアクセスして、いつリリースされるかを確認してください。

W3 Total Cache で New Relic を使用する

このチュートリアル「New Relic による WordPress パフォーマンスのモニタリング (Tuts)」では、W3 Total Cache New Relic サービス統合の登録とインストールのプロセスについて説明しました。 新しいレリックに関する WordPress のパフォーマンスの問題を診断する

WordPress 管理コンソールで、

[パフォーマンス] > [モニタリング]

をクリックします。クリックして無料アカウントに登録してください。 API とライセンス キーの詳細を以下の W3 Total Cache 設定パネルにコピーします:

サーバー上での New Relic の有効化は、以下に示すように W3TC ダッシュボードから監視できます。 新しいレリックに関する WordPress のパフォーマンスの問題を診断する

詳細については、New Relic Web サイトにアクセスしてアカウントにログインしてください。

新しいレリックに関する WordPress のパフォーマンスの問題を診断するWordPress のパフォーマンスを監視する

サーバーのパフォーマンスを評価する

New Relic Server の監視では、大まかに言うと、CPU 使用率、メモリ使用率、ディスクおよびネットワーク I/O の概要に加え、ハードウェアおよび最もアクティブなプロセスに関する情報が得られます。これにより、構成で何が起こっているかを俯瞰的に把握でき、重大な問題があれば警告します:

新しいレリックに関する WordPress のパフォーマンスの問題を診断するNew Relic Servers Dashboard 新しいレリックに関する WordPress のパフォーマンスの問題を診断する [プロセス] タブには、各プロセスのメモリと CPU の使用率が表示されます:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

サイトのパフォーマンスに関する危険信号を示すアラートの履歴を表示することもできます:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

WordPress のパフォーマンスを評価する

New Relic には、WordPress のパフォーマンスを評価する 3 つの主な方法があります:

1.アデックス。 New Relic は、Apdex スコアリングを使用して、業界標準の測定に対して Wordpress アプリケーションがエンドユーザーに対してどの程度優れたパフォーマンスを発揮するかを評価するのに役立ちます。これにより、トラブルシューティングのためのより適切なデータを提供し、不満または満足しているユーザーの割合をより明確に理解することができます。また、Apdex 評価では、インシデントが発生してから数時間経つまで通知されない一般的な「サイトが遅い」という苦情よりも、より具体的なコンテキストも提供されます。 Apdex では、実際のユーザーがパフォーマンスの向上についてどのように感じているかを測定する、より客観的な方法も提供します。

2. MySQLのパフォーマンス。 WordPress プラグインとテーマは、mySQL データベースを悪用する可能性があります。 New Relic の Slow SQL を調べることで、問題の原因を見つけることができます。たとえば、wp_terms でのカテゴリとタグの選択に、データベース全体の時間の最大 20% がかかる場合があります。あるいは、インデックスを適切に配置したり、クエリを調整したりすることで、遅い INSERT ステートメントを改善できる可能性があることに気づくかもしれません。

3.サードパーティのプラグインと API のパフォーマンスを監視します。 WordPress でソーシャル メディア プラグイン、モニタリング プラグイン、その他の優れたウィジェットを使用するのは非常に簡単ですが、これらのサードパーティの依存関係がブログやブログ マーケティング Web サイトにどのような影響を与えるかは明らかではない場合があります。 New Relic を使用すると、外部サービス呼び出しを「集約」してより包括的なビューを得ることができ、New Relic によってキャプチャされたすべての Web トランザクション内でこれらのサードパーティの応答時間を監視することもできます。

New Relic のブラウザを使用して、WordPress のパフォーマンスをより詳細に調査できます。パフォーマンスに悪影響を与える可能性のあるテーマやプラグインのコードを特に探す必要があります。

ダッシュボードには、Apdex とスループット別に分類されたページ読み込み時間の概要が表示されます。

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

これは、過去 24 時間の Apdex スコアの拡大表示です:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

ページビュー別のパフォーマンスも表示できます:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

ドリルダウンすると、Web サイトによってロードされた個々のファイルのパフォーマンスを表示できます。疑わしい時間のかかるテーマまたはプラグイン ファイルを探す必要があります:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

MySQL 分析

New Relic Server Monitoring は、MySQL クエリのパフォーマンスも追跡できます:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

ドリルダウンして詳細を確認できます:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

そして、最も遅いクエリを診断します:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

これは、不正なプラグイン コードによって作成された遅いクエリを特定する場合に特に役立ちます。

セッション追跡

セッション追跡により、ユーザーの操作、リソースの読み込み、iframe、Ajax 呼び出しの待機時間、エラーなどを含む Web ページのライフサイクル全体を理解し、実際のユーザーの実際のエクスペリエンスを最初から最後まで追跡できます。 。

トレースでは、問題を特定するだけでなく、エラーの発生前後にユーザーが行ったアクションも表示されます。

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

以下はセッションの詳細なドリルダウンです。これは、テーマとプラグインのコードのパフォーマンスを評価するのに役立ちます:

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

セッション追跡は次のことを理解するのに役立ちます:

    DOM の読み込み時間、Ajax リクエストが完了するまでの待機時間、ページとのユーザー操作を含む、ユーザーのページ読み込み体験の仕組み
  • JavaScript とブラウザのイベントの順序 (他のイベントよりも時間がかかります) と各イベントの発生時期
  • ボトルネックが発生する場所とその原因
  • セッション中に個々のイベントのコンテキストを提供することで、あるページの読み込みが他のページより遅くなる理由

いつでも特定のユーザーのブラウザで何が起こっているかを正確に確認できます。セッション追跡により、ユーザー セッション内のすべてのイベントを詳細かつ直感的に視覚化できるため、問題領域を正確に特定し、解決策を簡単に特定できます。セッション追跡の使用について詳しくは、こちらをご覧ください。

Ajax と JavaScript

Ajax ページを使用すると、ページ上の対話型呼び出しで何が起こっているかを確認できるため、呼び出しに時間がかかったり失敗したりした場合のユーザー エクスペリエンスの問題を特定するのに役立ちます。

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

New Relic ブラウザは Ajax データを自動的に記録しないことに注意してください。 New Relic 設定領域でアプリケーションごとにこれをオンにする必要があります。 Ajax ダッシュボードの詳細については、こちらをご覧ください。

ブラウザー JavaScript エラー ダッシュボードを使用すると、本番環境の JavaScript で時間の経過とともにどのエラーがどのブラウザーで発生しているかをすぐに確認できます。各エラーの発生回数と、エラーが発生した一意のページの読み込み数に基づいてエラーを調査できます。

これにより、サイト上の実際のユーザー エクスペリエンスに影響を与えるバグを特定できます。これは、独自のテストや、テストベンチから除外したブラウザーには現れない JavaScript のバグについて学ぶための特に強力な方法です。

新しいレリックに関する WordPress のパフォーマンスの問題を診断する

未来に目を向ける

セルフホスト型 WordPress には高度な技術スキルが必要です。そうしたくない場合は、マネージド ホスティングを使用することをお勧めします。その多くは、Page.ly などの Web サイトを最適化するために内部で New Relic を使用しています。

New Relic を深く掘り下げるには時間がかかりますが、結果はそれだけの価値があります。このツールを使用すると、WordPress スタック内を調べて、対処する必要がある問題領域を迅速に特定できます。

セルフホストの場合、New Relic のサービスは、WordPress スタック、テーマ、プラグインとともに独自のホスティング環境を理解し、パフォーマンスの猛獣を飼いならすための非常に強力な方法を提供します。

ロールアウト プロセス (独自のテーマやプラグインを構築している場合は開発プロセス) 中に、サイトをより深く理解するために New Relic を使用することをお勧めします。

New Relic Lite は永続的に使用できますが、2 週間のトライアル終了後、同じレベルのサービスを維持するには Pro プラン (月額 149 ドル) にアップグレードする必要がある場合があります。 New Relic Browser、Synthetics、および Insight にはすべて独自の価格体系があります。詳細については、New Relic Web サイトをご覧ください。

質問や修正がある場合は、コメントに残してください。今後も私の Tuts チュートリアルやその他のシリーズを続けてご覧になりたい場合は、私のインストラクター ページにアクセスするか、@reifman をフォローしてください。

###関連リンク###

New Relic を使用して WordPress のパフォーマンスを監視する (Tuts)

    Varnish と W3 Total Cache を使用して WordPress (Tuts) を最適化する
  • フロントエンド監視に新しい Relic ブラウザを使用する (Tuts)
  • W3 Total Cache パートナー ページに NewRelic を登録します
  • New Relic を使用して WordPress のパフォーマンスを最適化する

以上が新しいレリックに関する WordPress のパフォーマンスの問題を診断するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。