web-dev-qa-db-ja.com

ウェブページの非常に高速な配信のための戦略

私は、ウェブサイトCucumbertownを実行し、約9KBの初期ペイロードを圧縮しました

enter image description here

私のすべてのjsはrequirejsで遅延ロードされ、モデナイザーが唯一の例外です。これですべてのWebページがNginxキャッシュされ、10-15%のヒットのみがバックエンドプロキシに送られます。そして、キャッシュは proxy_cache_bypass としてログインしているユーザーによって無効にされます。したがって、匿名ユーザーの場合、ほぼ常にキャッシュヒットになります。

私はいくつかの基本的なOSのチューニングをしています

default via ip dev eth0  initcwnd 15                                          
net.ipv4.tcp_slow_start_after_idle 0

すべてのキャッシュと大きなinitcwndにもかかわらず、私のページはまだtake 2.5 – 3 secondsです。

私はyslowスコアを持っています

enter image description here

そして、ページ速度

enter image description here

これよりも速くWebページを配信するのに役立つ戦略はありますか? 10KBのペイロードで1回以上ページを配信しますか?

注:私のサーバーは、フリーモントのLinodeのかなり良いデータセンターで稼働しています。

5
Cherian

まず、あなたは基本的に多くのことを現在非常にうまくやっています。これにより、たとえばPageSpeedの成績が良好になります。また、待機時間の大部分がフロントエンドに費やされるため、サーバー構成に深く入る前にこれを最適化することは理にかなっています。

これらはいくつかのアイデアです:

  • kitchenサブドメインなど、多くの画像リクエストがあります。可能であれば、それらを1つのスプリットイメージに結合します。
  • Uservoiceなどの外部Javascriptを使用しています。読み込みが少し遅くなる傾向があります。
  • まだこれを行っていない場合は、CookieのないCDNサブドメインから静的JS、CSS、および画像ファイルを提供するようにしてください
5
j0nes

1つのことは、.cssファイルと.jsファイルを結合して統合することです。通常はキャッシュされますが、5つの1kファイルよりも1つの5kファイルをダウンロードする方が高速です。

2
willoller

ページの読み込み時間のほとんどは画像のようです。他の回答者がこれを言っていることは知っていますが、あなたは懐疑的に思えたので、その裏に少し証拠を付け加えたいと思います。以下のFirebugプロファイルを参照してください。

Firebug profile of your site's load time

だから、私が最初に指摘したいのは、すべてのグレー/ブラウンです。それは、何か-通常は他のリクエストですが、場合によってはページ内のJavaScriptが-他のリクエストを最初からさえブロックしているブロック時間です。これらの画像が1つのリクエストに含まれていた場合、または画像の数が少なかった場合、サイトの読み込みは速くなります。

また、画像にexpiresヘッダーが表示されないため、リロード(areはるかに高速)を行っても、ブラウザがサーバーで各画像を実際に確認して確認する必要があるため、引き続きブロックされています更新された場合。 expiresヘッダーはこれを防ぎます。

2
Nick

1. Webホストが遠い場合は、新しいホストを取得することを検討してください。応答時間が長い場合は、pingテストを実行できます。近くのサービスをホストしてください。

2.帯域幅サイトに問題がある場合は、速度が遅くなる可能性があります。

0
LINUX4U