36

私は自分のサイトの速度を最適化しようとしていますが、pingdom.comのすばらしいツールを使用しています。現在、下のスクリーンショットに示すように、ページの読み込みにかかる時間の50%以上は「待機」時間です。これを減らすために何ができますか?また、この数字はどのくらい典型的ですか?これに関するベンチマークはありますか?ありがとう!

サーバー待機時間が長い

編集: わかりました..いくつかのことを明確にしましょう。サーバー側のスクリプトやデータベース呼び出しは実行されていません。HTML、CSS、JS、および画像だけです。並列ダウンロードを取得するために、jsをbodyタグの最後にプッシュするなどのいくつかのことをすでに実行しました。main.htmlとtemplates.htmlは、js.jsのダウンロード後に同期的に実行されるため、全体的な待機時間が長くなることを認識していますが、これは問題ではありません。リクエストごとに「待機」時間がどれだけあるかに驚いています。サーバーの距離はこれに影響しますか?共有サーバー上にいることはどうですか、それは待機時間に影響しますか?これらの問題を解決するための簡単な成果はありますか?

ここに画像の説明を入力してください

4

5 に答える 5

60

Apache の場合の最も一般的な理由は、DNS リバーサル ルックアップの使用です。これが意味することは、リクエストを行うたびに、サーバーがマシンの名前を把握しようとすることです。これには数秒かかることがあります。問題は帯域幅に関するものではないため、WAIT 時間が長くなり、ロードが非常に速くなる理由がこれで説明できます。

これに対する明らかな解決策は、/etc/httpd/conf/httpd.conf で hostnamelookup を無効にすることです。

HostnameLookups Off

しかし...これは通常十分ではありません。実際のところ、多くの場合、ホスト名ルックアップを無効にしても apache は逆ルックアップを行うため、apache 構成の各行を注意深く確認する必要があります。特に、これの最も一般的な理由の 1 つは LOGS です。デフォルトでは、多くの Red Hat - centos インストールでは、ログ形式に「ホスト名」を表す %h が含まれており、apache が逆引きを行う必要があります。これはここで見ることができます:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

この問題を解決するには、これらの %h を %a に変更する必要があります。

于 2012-12-02T19:29:43.253 に答える
2

ページが待機しているサーバー要求が複数ある場合は、それらのサーバー要求が非同期で並列に送信されるようにして、それらをシリアル化することができます。

複数のリクエストをフェッチする最も遅い方法は、1 つのリクエストを送信し、その応答を待ち、次のリクエストを送信し、その応答を待つことです。通常、すべてのリクエストを非同期に送信し、到着したすべてのレスポンスを処理する方がはるかに高速です。 . これにより、合計待機時間が、すべてのリクエストの累積待機時間ではなく、単一のリクエストの最長待機時間に短縮されます。

リクエストを 1 つだけ行う場合、クライアント側でできることは、ページのロード シーケンスのできるだけ早い段階でリクエストがサーバーに送信されるようにすることだけです。リクエストの処理中にビジネスを行っているため、最初のリクエストがより早く開始されます (したがって、より早く終了します)。

于 2012-06-07T20:06:27.553 に答える
1

最初のバイトまでの時間とも呼ばれる待機時間は、接続が開始されてからサーバーが最初のバイトを送信するのにかかる時間です。これが高い場合は、サーバーがページを送信する前にレンダリングするために多くの作業を行う必要があることを意味します。あなたのサイトがページをレンダリングするために何をしているかについて、より多くの情報が必要です。

于 2012-06-07T19:47:45.467 に答える
0

TTFB は、ブラウザとサーバー間の「物理的」距離の影響を直接受けます。CDN プロキシは、距離を縮める最良の方法です。これは、ネイティブのキャッシュ機能と相まって、キャッシュされたオブジェクトを最も近い POP (配置ポイント) の場所からロードすることで、より迅速な応答を提供するのに役立ちます。

効果は、ユーザーの地理的位置と CDN の広がりによって異なります。それでも、 50% ~ 70% 以上の大幅な改善が期待できます。

経験上、コンテンツの 90% がキャッシュされ、地球の反対側から別の大陸に配置されたプロキシから直接配信されるケースを見てきました。

于 2013-08-12T18:56:05.663 に答える
-1

これはサーバーの問題です...Pingdomによると、「Webブラウザーはサーバーからのデータを待機しています」が「待機」時間を定義します。

これを修正するためにJavaScriptまたはコードの終わりからできることはあまりありません。

于 2012-06-07T19:40:52.550 に答える