静的ファイルにデータ圧縮を使用するように IIS を構成すると、通常、最初のクライアントは圧縮されていないコンテンツを受け取り、後のクライアントは圧縮されたコンテンツを受け取ります。おそらく、IIS はバックグラウンドでファイルを圧縮し、後で要求するためにキャッシュします。
ただし、最初のクライアントも圧縮されたコンテンツを受信することをお勧めします。つまり、帯域幅と引き換えにレイテンシーを優先したいと考えています。これを行うように IIS を構成する方法はありますか?
静的ファイルにデータ圧縮を使用するように IIS を構成すると、通常、最初のクライアントは圧縮されていないコンテンツを受け取り、後のクライアントは圧縮されたコンテンツを受け取ります。おそらく、IIS はバックグラウンドでファイルを圧縮し、後で要求するためにキャッシュします。
ただし、最初のクライアントも圧縮されたコンテンツを受信することをお勧めします。つまり、帯域幅と引き換えにレイテンシーを優先したいと考えています。これを行うように IIS を構成する方法はありますか?
まあ、実際には少し違った働きをします。IIS はバックグラウンドでファイルを圧縮していませんが、コンテンツを圧縮するかどうかを決定するしきい値があります。これにより、頻繁に要求されないコンテンツのために CPU リソースとキャッシュ ストアを使用することを防ぎます。既定では、IIS は、10 秒以内にそのコンテンツに対する 2 つの要求を受信した場合にのみコンテンツを圧縮します。
これらのデフォルトは、web.config の要素のfrequentHitThreshold
およびfrequentHitTimePeriod
属性を変更することで変更できます ( iis.net の構成リファレンスを参照してください)。私はそれをテストしていませんが、に設定するだけで望ましい結果が得られると思います。<serverRuntime />
frequentHitThreshold
1
<configuration>
<system.webServer>
<serverRuntime frequentHitThreshold="1" />
</system.webServer>
</configuration>
お役に立てれば。