ドキュメント、CSS、画像を提供する前に Apache Web サーバーの応答が遅い

ドキュメント、CSS、画像を提供する前に Apache Web サーバーの応答が遅い

私は WordPress (PHP と MySQL) を実行している Web サイトを持っています。Web サイトのリクエストへの応答が非常に遅いです。

Safari の Web インスペクタで調べてみると、問題はファイル サイズではないようです。

http://img.skitch.com/20100127-1yjnf586wdr3tx4akk8fj5qwhx.png

コンテンツの提供までに 5 秒かかります。どのような対策を講じればよいでしょうか? サーバー管理は初心者で、これは単なる共有サーバーです。完全に制御できるわけではありませんが、最適化を試みる価値はあるかもしれません。

tracerouteコマンドを試してみましたpingが、コマンドは問題なく動作しました。

答え1

サーバー上で実際のトラブルシューティングを実行するには、管理者権限が必要です。

しかし、それが自分のコードの問題なのか、それともサーバーのせいなのかを知りたい場合は(へへ)、実行できる手順がいくつかあります。その1つは、PHPコードにタイマーを追加して、サーバー上での実行にどのくらいの時間がかかるかを確認することです。ここ:

<!-- put this at the top of the page --> 

<?php 
  $mtime = microtime(); 
  $mtime = explode(' ', $mtime); 
  $mtime = $mtime[1] + $mtime[0]; 
  $starttime = $mtime; 
?> 

<!-- put other code and html in here --> 

<!-- put this code at the bottom of the page --> 
<?php 
  $mtime = microtime(); 
  $mtime = explode(" ", $mtime); 
  $mtime = $mtime[1] + $mtime[0]; 
  $endtime = $mtime; 
  $totaltime = ($endtime - $starttime); 
  echo 'This page was created in ' .$totaltime. ' seconds.'; 
?>

これを使用すると、サーバーが実際に遅いのか、それとも接続側が遅いのかを確認できます。

サーバーが遅い場合、実行すべき手順はいくつかありますが、特に世界中の何十万ものサーバー上に存在し、かなり最適化されている WordPress を使用している場合は、それ以上進むには管理者権限が必要です。

もう 1 つ試してみるとよいのは、プラグインを無効にしてから 1 つずつ有効にして、速度低下の原因となっているプラ​​グインがないか確認することです。

答え2

おそらく、ファイルのサイズとは関係ありません。WordPress を実行している場合、バックログはデータベースとプロセッサになります。データベースは、ページの外観やコンテンツなどに関するすべての情報を回復するためのものです。そして、プロセッサは、そのすべての情報を実際のドキュメントにコンパイルして送信するためのものです。

Apache のキャッシュ設定を微調整することを検討してください。特定のページが頻繁に要求される場合、そのページを何度も構築しても意味がありません。

答え3

Firefoxを使用して、Firebugと呼ばれるプラグインをインストールしてみてください(http://getfirebug.com/) 設定が完了したら、「net」パネルを有効にしてページを再読み込みします。これにより、初期接続速度、ダウンロード時間、サーバー応答ラグなど、サーバー応答の各部分にかかる時間が表示されます。また、このパネルを使用して、JavaScript、画像、CSS などのアイテムをキャッシュしているかどうかを確認することもできます。

共有ホスティングを利用しているため、サーバーの設定をほとんど制御できませんが、サーバーに要求する処理に細心の注意を払うことで、他の方法で処理を高速化できます。

素晴らしい!Firebug の使い方に慣れてください。Firebug は命の恩人です。

最後に、できるだけ最新バージョンの WordPress を使用していることを確認し、プラグインを使いすぎないようにしてください。オーバーヘッドが少しでも増えると、読み込み速度が低下します。

答え4

Wordpress は、他の多くの CMS と同様に、かなり重いことで知られています。共有サーバーで最初のバイトを提供するときにこのような遅延が発生するのは驚くことではありません。

最初にすべきことは、利用可能なオペコード キャッシュ (php-apc が「標準」のもの) があることを確認することです。これがないと、Wordpress は新しいユーザーがリクエストするたびにホームページを生成します。apc がサーバーにインストールされていて、それを構成する方法がある場合は、まずこの構成を試すことができます。

apc.enabled=1
apc.shm_size=64
apc.max_file_size=3M
apc.ttl=7200
apc.user_ttl=7200
apc.stat_ctime=1

次に、パッケージに含まれるapc.phpスクリプトによって提供される統計情報を確認します。これは設定に役立ちます。それらの価値観より適切に。

次に行うことは、次のような Wordpress のキャッシュ プラグインを使用することです。http://wordpress.org/extend/plugins/w3-total-cache/

最初のリクエストでコンテンツをレンダリングし、可能であれば静的コンテンツを提供します。

関連情報