2016-12-08 8 views
0

私はそれぞれ10KBの画像が100枚あります。すべてのものを単一のスプライトシートに入れる利点は何ですか?私はHTTP要求が少ないことを理解しているため、サーバーの負荷も少なくてすみますが、詳細については興味があります。現代のパイプライニングでは、パフォーマンスの向上にはまだ価値がありますか?パフォーマンスの向上はどれほど重要ですか?クライアントのロード時間が短縮されるだけでなく、サーバーの負荷が軽減されるか、ロード時間が同じでサーバーの負荷が軽減されますか?Loading 1 1MBの大きな画像(スプライトシート)とローディング100 10KBの画像

これらの質問に誰かが指摘できるテストケースはありますか?

基本的に、私が求めているのは、それは価値があるのですか?

答えて

1

HTTP/1.1(大部分のサイトはまだ です)では、1つの大きなリソースと比較して多くの小さなリソースをダウンロードするには大きなオーバーヘッドがあります。これが最適化手法としてスプライトが普及した理由です。 HTTP/2は主にそれを解決するので、スプライトの必要性が少なくなります(実際はアンチパターンと見なされています)。あなたが "現代のパイプライニング"とは何を意味するのかはっきりしていませんが、それはほとんどがpipelining in HTTP/1.1 isn't as fully featured or used muchというHTTP/2を意味します。

パフォーマンスがHTTP/1.1でどれくらい悪いですか?実際にはかなり衝撃的に悪いです - ロード時間は遅くても10倍になりますon an example site I created。サーバーやクライアントの負荷にはあまり影響しません。どちらの方法でも同じ量のデータを送信する必要がありますが、負荷時間に大きな影響を与えます。

画像のスプライシング(類似したテキストファイルの連結)には欠点があると言っています。 1つのイメージのみを使用してキャッシュ内の古いバージョンを無効にする場合でも、スプライト全体をダウンロードする必要があります。

最終的に最良のテストは試してみることですサイトごとに異なります。しかし、いったんHTTP/2が普及すれば、これはあまり一般的ではありません。

もっとこの回答でこのトピックについての議論:Optimizing File Cacheing and HTTP2

+0

おかげで、私はちょうど相対的な答えを求めていたし、「HTTP 1.1のための大規模なオーバーヘッドは、」私には良い画像を提供します。 –

関連する問題