ホームページ >CMS チュートリアル >&#&プレス >nginxでwordpressを最適化する方法

nginxでwordpressを最適化する方法

尚
オリジナル
2019-07-16 10:45:253258ブラウズ

nginxでwordpressを最適化する方法

Nginx での WordPress の実行速度が遅い問題の解決策:

WordPress の実行速度が遅い問題を最適化する方法

1。プラグインの数を減らす

を使用する これが最初のポイントです。ほとんどの人は十分なコーディング知識を持っていないことが多く、すべてのプラグインをコーディングすることは不可能であるため、ほとんどの人が多数のプラグインを使用しています。ほとんどのプラグインはデータのクエリと生成を実行しますが、ページ生成プロセス中に時間がかかります。ホストに厳しい制限がある場合 (リソース使用量のバランスを取るため)、この時間がさらに長くなる可能性があります。プラグインの削減は、非常に必要な最適化方法の 1 つです。

2. HTTP リクエストの削減

JS、CSS、およびその他のファイルへのすべてのアクセスは HTTP リクエストです。プラグインの使用量が減れば、当然 HTTP リクエストの数も少なくなります。速度は当然速くなります

WP はページにアクセスするたびにプラグインの使用方法を決定します。 WP に実行させる判断の数を減らすということは、実行するデータ クエリの数を減らすことを意味します。その重荷を解放してください。

3. テーマを慎重に選択するか、手動で最適化する

多くのテーマは美しいですが、最適化があまり得意ではありません 各種 JS、各種 CSS、各種背景画像、各種空白行、各種冗長性は読み込み速度に影響します。ただし、ゴージャスなテーマを選択できないというわけではありません。テーマは基本的に次の要件を満たす必要があります。または、次の要件を満たすように手動で変更することもできます。

CSS と JS のマージ: 複数の CSS をマージします。 1に。

背景画像の結合: CSS スプライトを使用して、ほとんどの背景画像を 1 つのファイルに結合します。これにより、HTTP リクエストが削減され、ファイル サイズが削減され、レンダリング時間が短縮されます。

データ クエリを減らす: HTML が直接出力される可能性がある場所ではデータ クエリを作成しないでください。

合理的な JS と CSS の配置: Web ページの下部に JS と CSS を合理的に配置します。

テーマの背景画像を最適化する

4. 外部リソースの使用を減らす

外部リソースとは、独自のサーバー上にないリソースです。外部リソースを使用しすぎると、次の問題が発生します。

DNS 解決にかかる時間が長くなる

すべてのドメイン名が適切に機能するには、DNS 解決が必要です。 Web サイト上のコンテンツが a.com、b.com、c.com、および d.com のリソースを同時に読み込む必要がある場合、各ドメイン名の DNS を個別に解決して、繋がり。同様に、Web サイトが a.com の場合、1.a.com と 2.a.com などの類似したドメイン名を同時に読み込むと、DNS 解決時間も長くなります。外部リソースを完全に避けることは不可能ですが、外部リソースの使用を最小限に抑えることはできます。

外部リソースの読み込み速度は制御不能です

これは主に、fickr、twitter などの一部の海外サイトのコンテンツに関するものです。よく知られた理由により、リソースを読み込むと、読み込み速度が大幅に低下します。国内サイトは比較的早いです。

5. データベース クエリを減らすか、データベース キャッシュ プラグインを使用します。

多くのプラグインではデータベース クエリが必要です。プラグインとテーマに関する上記のセクションでは、コードの最適化による影響を最小限に抑えることについても説明しました。データベースクエリの数。理解できない場合は、データベースのクエリ内容をキャッシュできるデータベース キャッシュの使用を検討してください。ただし、データベース キャッシュ プラグインは静的キャッシュ プラグインと一緒に使用しないでください。コンテンツのキャッシュとクエリの削減は両方とも行われるため、これらを一緒に使用すると作業が重複することになります。

6、ページ静的キャッシュ プラグインを使用する

静的キャッシュ プラグインとデータベース キャッシュ プラグインの原理は似ており、どちらもコンテンツを事前に整理して生成します。静的ファイル. 必要なときに、検索したり生成したりせずに直接取り出すことができ、時間の無駄になります。キャッシュされた静的ファイルは、あまり複雑なコンテンツを実行しなくても、基本的には静的画像と同等になります。

GZIP を使用した Web ページの圧縮、ブログ投稿画像の最適化、CDN 分散ネットワークを使用した静的ファイルの高速化など、他の最適化方法もあります。

WordPress プラグインをインストールして、遅さの原因を確認してください

このサイトを一定期間実行した後、アクセスするのに最大 20 秒かかります。毎回ホームページにアクセスするのに20秒もかかるし、10秒もかかるなんて耐えられない、倒れそうになりましたが、ついに完全解決する決心をしました。

大量の情報を参考に、前セクションの方法を参考にシステムを最適化しました。

1. まずすべてのプラグインをブロックして、システムの問題がまだ存在していることを確認します。ホームページを開く速度は依然として約 10 秒です。

2. httpwatch で http リクエストのステータスを確認します。ホームページにアクセスすると、php を取得します。ページ時間は 9 秒、画像、js、css などを開く時間は約 2 ~ 3 秒なので、http リクエストが多すぎることが原因ではありません。

3. mysql データベースのスロー クエリを開いて、データベースのスロー クエリのステータスを確認します。ほとんどのクエリは比較的高速であることがわかります。いくつかのクエリをテストしましたが、速度は非常に高速です。したがって、データベース要因も排除できます。

仕方がないので、最終的にはWordPressのプラグインを使って、表示されたホームページで何が起きているかを調べて、最も時間がかかる箇所を確認し、徐々に最適化していくことを考えました。だからこうするしかなかった。

WordPress の Web サイトにたどり着いて、デバッグ プラグインを検索しました。たくさん検索し、試してみましたが、どれも私の要件を満たしていませんでした。最後に、「Debug Queries」というプラグインを見つけました。wp の古い習慣に従ってダウンロードしてインストールし、最後に、下の図に示すように、有効化ボタンをクリックしてプラグインを有効にします。

nginxでwordpressを最適化する方法

プラグインのインストール後、Webサイトのトップページを開いて効果を確認しますが、変化がないことがわかります

最後に記事ページを開きます記事ページの下部で Jiijiu を見つけてください。探しているものは、以下の画像です。

nginxでwordpressを最適化する方法

画像には、異なる色の領域がマークされています

赤色の領域: 時間: 0.000xxxx クエリが必要な時間

緑色の領域: クエリ: クエリ SQL ステートメント

呼び出し元: require、xxx 呼び出しシーケンスなど

その後、次のようになります。追加の呼び出しです。このページには、このページ表示プロセス中に呼び出される関数と呼び出しプロセス、および必要な時間 (この時間と PHP によって計算される合計時間に基づくデータベースのクエリ時間) が表示されます。最後のページはダウンしています 図:

nginxでwordpressを最適化する方法青い部分: この訪問のデータ クエリ時間の概要です。クエリに合計 0.24 秒かかったことがわかります。 、83 個のクエリが発生しました (これは、プラグインがパフォーマンス上の問題を引き起こすことも示していますが、システム内のデータ量は現時点では少ないため、システムのパフォーマンスには影響しません)

緑色の部分: は、このユーザーの訪問中の全体的な時間の概要です。ここでの統計には、php の全体的な時間が含まれている必要があります。

赤い部分: この訪問の合計時間です。

紫色の部分: この訪問中に php プログラムに費やされた割合です。 97.5%

黄色の部分: この訪問中に MySQL データベースに費やした時間の割合です。2.5%

上記のデータから、10 秒間のユーザー訪問で、MySQL が時間の 2.5% しか占めていないため、10 秒間のアクセスの問題が mysql 以外のリンクによって引き起こされているのは確実で、主に PHP の問題であるはずです。

php プロセスを再起動して遅い問題を解決します

上記の部門の分析から、問題は php にある可能性が高いことがすでにわかります。私には php の問題のトラブルシューティングは専門知識がありませんので、効果を確認するために php プロセスを再起動することにしました。

1. PHP プロセスを見つけます

su – コマンドを入力し、root アカウントに切り替えます

「ps -ef | grep php」コマンドを入力して PHP プロセスを表示します。

nginxでwordpressを最適化する方法 この図から、php プロセス ID は 26765、プロセス名は php-fpm (これは nginx に必要な php プログラムです) であることがわかります。

2. PHP プロセスの起動パスを見つけます

次のコマンドを入力します lsof -p 8584 (ここでの 8584 は、問題を解決したときの PHP プロセスの ID です。上記の 26765 はまだそのままです)最近の記事の検索) プロセスの ID)

nginxでwordpressを最適化する方法3. プロセスを閉じる

kill -9 8584 古い php プロセスを閉じる

時々phpが開いてしまいます 終了しにくいプロセスがたくさんありますが、次の方法で解決できます

killall php-fpm (このサイトではこの方法を使用しています)

4 php プロセスを再起動します

次のコマンドを入力してください

##/usr/sbin/php-fpm プロセスを再起動します

##WordPress 関連の技術記事の詳細については、## を参照してください。 #wordpress チュートリアル

学ぶべきコラム!

以上がnginxでwordpressを最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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