2

1K未満のJSONコンテンツに応答するWebサービスを作成しました。この圧縮戦略のどれが最適ですか?

  • 他のテキストリソースと同じように、このコンテンツをリバースプロキシでgzip圧縮しますか?
  • リソースをしきい値未満に圧縮しないルールを追加しますか?

インターネットネットワークのパケットサイズは1Kより大きいと思います(この記事はかなり興味深いですが、答えよりも多くの質問があります:579バイト?1518バイト?)。このように、1つのパケットですでに送信されるコンテンツを圧縮するために時間とプロセッサを費やすことを避けることは理にかなっています。

したがって、私はこれらの2つの戦略に関する誰かのテストをもっと見ていますか?誰かがテストをしましたか?そして、私はあなたが書いたルールにも興味があります。

ありがとう

4

2 に答える 2

2

このページのコピー (つまり、この質問の HTML を含むソース コード) をダウンロードし、最初の 993 文字だけを保持しました。

つまり、元のサイズは 993 文字です。

gzip 圧縮を使用してそのファイルを圧縮すると、595 バイトのファイルになります。

これは、新しいファイルが元のファイルのほぼ 60% であることを意味します。

結論: はい、約 1 KB の (テキスト) データの価値があります。

元のサイズを約半分の 515 文字にすると、圧縮されたファイルは 397 文字になり、新しいファイルは元の約 77% になり、それほど良くはありませんが、それでも利点があります。

ファイルを約半分の 223 文字にすると、圧縮ファイルは 277 バイトになり、圧縮ファイルはさらに大きくなるため、パケット サイズが非常に小さい場合、gzip 圧縮は役に立ちませんが、それでも圧縮は可能です。(ただし、単純に gzip を使用する場合ではありません)。

500 バイトまでがいかに小さいかを理解するために、google.com の応答 (HTTP ヘッダーを含む) を検討してください。

HTTP/1.0 302 Found
Location: http://www.google.com/
Cache-Control: private
Content-Type: text/html; charset=UTF-8
X-Content-Type-Options: nosniff
Date: Wed, 16 Mar 2011 11:27:29 GMT
Server: sffe
Content-Length: 219
X-XSS-Protection: 1; mode=block

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

ヘッダーを含めてすでに 465 バイトです。(ただし、HTTP ヘッダーは通常圧縮されず、コンテンツのみが圧縮されます...ここでは 219 文字です)。

これを圧縮すると、ファイル サイズは 266 (ヘッダーを除く) になるため、心配する必要のないわずかな増加です。

于 2011-03-16T11:34:19.153 に答える
0

役に立たないかもしれませんが、小さなパケットを圧縮しても問題はありません。さらに、キープアライブを利用する同時実行性の高いシステムは、単一のパケットで複数の応答をバッファリングする可能性があり、圧縮により各パケットにより多くの応答が圧縮される可能性があるため、依然として利点があります。

于 2011-03-16T11:02:18.807 に答える