1

500 を超える画像をブラウザーに配信する 1 つの Web ページがあります。サイズは 50kb から 80kb の間で異なります。

使用されているサーバーは nginx で、varnish プロキシも使用されています。

では、このプロセスを可能な限り最も効率的にするにはどうすればよいでしょうか?

私は 2 つの考えしか持っていないので、ここで経験豊富な人々からの意見を求めています。

私の唯一の考えは次のとおりです。

  1. 複数のサブドメインを設定し、これらからバッチを提供します。使用するサブドメインの最適な数は 12 になると思います。

  2. ユーザーが下にスクロールするときに必要な場合にのみ、ajax を使用してブラウザーにバッチをロードします。

ここでのオプション 2 は、実際には問題を解決しないと思います。それを回避するだけです。そのため、プロセスを可能な限り効率的かつ最速にすることに焦点を当てたいと思います。

4

1 に答える 1

1

500*50kb ~ 25MB のデータを含む 1 ページを読み込んでいます。これは完全に非常識なページサイズです!

何をしても、現在の平均ページサイズが約 1 MB であるのに比べて、常に遅く感じるでしょう。必要に応じて、AJAX を介して動的にそのほとんどをロードする方がはるかに理にかなっています。または、複数のプラージュに分割することもできます。

動的ではない 1 つの巨大なページを本当に設定している場合は、次のようにします。

  • キャッシュを許可するようにキャッシュ ヘッダーが設定されていることを確認します (最初の読み込みでは無効になります)。
  • 主な問題 (全体的なサイズは別として) は、要求しているリソースが非常に多いことです。その結果を制限する 3 つの方法があります。
    • シャーディングを使用します (つまり、異なるサブドメイン)。これが機能するのは、ブラウズがホストごとに最大 4 つの接続しか開かないためです。そのため、複数のドメインを使用することで、より多くのリソースを並行して要求/ロードできます。
    • 画像をスプライトに入れます (つまり、1 つの大きな画像で、css を使用して必要なビットを表示します)。
    • Google の SPDY を使用するようにサーバーをセットアップします。これにより、多くのリソースの問題がほぼ解消されます。欠点は、まだ実験段階であり (つまり、パッチを適用して nginx を再コンパイルする必要があります)、まだすべてのブラウザーでサポートされていないことです。
于 2013-03-04T14:08:34.437 に答える