HcDynamicCompressionLevelは、0〜10の任意の場所に設定できます。10が悪い(CPU使用率が高い)と聞きましたが、最も効果的な魔法の数字は何ですか?
5 に答える
動的圧縮DOを 5 ~ 9 に設定すると、実際には CPU 負荷が高くなります。静的圧縮は (ファイルが再キャッシュされるまで) 1 回だけ実行され、静的圧縮を高く設定できます。
この詳細な記事では、動的圧縮には4、静的圧縮には 7 ~ 9 を推奨しています。この記事では、この推奨事項を、読んで自分で判断できる情報で裏付けています。
http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx
ファイルが大きくなると CPU 負荷が高くなるため、小さな動的ページでは動的圧縮設定を高くすると効果的です。サイズが約 200 KB の場合、ページの動的設定を低くすることを検討する必要があります。また、動的圧縮設定を高くすると、各ページ要求から最初のバイトを取得する時間が長くなることに注意してください。これらの要因は、動的圧縮に 4 のより制限された設定を使用することをサポートします。
ここでも、最初の要求のみが CPU 負荷とクライアントの待機時間に影響を与えるため、静的リソースは高い設定を使用できます。ただし、多くの大きな静的リソースを提供する場合、キャッシュがいっぱいになり、リソースを追い出し始めるため、静的圧縮は効果がありません。したがって、圧縮されたリソースは、キャッシュから繰り返し提供されてもメリットがありません。
注: '10' の設定はありません。
さらに 2 つの考慮事項があります。
ファイル内のhttpCompression
要素には.config
、CPU 負荷が高すぎる場合に圧縮を無効にする設定があります。
dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="80"
staticCompressionDisableCpuUsage="100"
staticCompressionEnableCpuUsage="80"
このEnableCpuUsage
設定は、CPU 負荷が指定された値を下回ったときに圧縮を再度有効にします。
別の設定では、小さなファイルの圧縮を無効にします。
minFileSizeForComp="2700"
IIS 7.5 では、一部の圧縮ファイルが元のファイルよりも大きいことが判明したため、圧縮の最小ファイル サイズが IIS 7.0 の既定の 256 バイトから既定の 2,700 バイトに引き上げられました。2,700 バイトが最適かどうかはわかりませんが、IP パケットは約 1,400 バイトになる可能性があるため、この設定では 2 パケット未満のファイルを圧縮できなくなります。この設定を上げるというマイクロソフトの決定に恣意的に異議を唱える前に、実際のテストを行うか、専門家のアドバイスを読みたいと思います。
10 は、CPU が現在よりも 2 桁遅かったときは悪かったです。最近の圧縮アルゴリズムに関しては、gzip アルゴリズムはかなり高速なので、10 に設定して何が起こるか見てみます。
私が働いている会社では、ASPX の動的圧縮を有効にし、動的に生成された javascript/css とページのダウンロードに時間がかかるようです。圧縮レベルを 1 と最大に設定してみました。CPU 90% ですが、それでも圧縮なしでは最悪です。私のですか
これは本当にあなたの状況に依存するように私には思えます。大量の大きなファイルを処理していて、CPU パワーに余裕がある場合は、数値を大きくすることをお勧めします。ただし、同時接続数が多く、ファイルが小さく、CPU の能力が低いため、数値は小さい方が適しています。
これを 8 に設定すると、サーバーに大きな負担をかけることなく、かなり良好な圧縮率が得られることがわかりました。サーバーの負荷と仕様によって異なります。