7

テキストベースのファイルを圧縮するように tomcat を設定しています。私の現在の構成は次のとおりです。

compression="on"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/xml,application/x-javascript,application/json"

ただし、〜 60kb を超える JavaScript ファイルが圧縮されていないことに気付きました。非表示の設定がありませんか?

4

1 に答える 1

13

tomcat7のドキュメントを検索しても、a への参照が見つかりませんcompressionMaxSize。このような唯一のコマンドcompressionMinSizeは、定義された値よりも小さいファイルの圧縮を除外するためのものです。そのようです:

compressionMinSize="2048"

これは、圧縮に関して私のserver.xmlがどのように見えるかです:

compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"

実際、これに関連する隠されたドキュメントがあり、あなたの経験を説明しています:

注: 圧縮の使用 (帯域幅の節約) と sendfile 機能の使用 (CPU サイクルの節約) の間にはトレードオフがあります。コネクタが sendfile 機能 (NIO コネクタなど) をサポートしている場合、sendfile の使用は圧縮よりも優先されます。症状は、48 Kb を超える静的ファイルが圧縮されずに送信されることです。以下に説明されているように、コネクタの useSendfile 属性を設定して sendfile をオフにするか、デフォルトの conf/web.xml または Web アプリケーションの web.xml で DefaultServlet の構成で sendfile の使用しきい値を変更できます。

したがって、CPU 使用率を犠牲にして帯域幅を節約したい場合は、この設定を web.xml に追加してこのトリガーを無効にすることができます (こちらを参照)。

<init-param>
    <param-name>sendfileSize</param-name>
    <param-value>96</param-value> <!-- value in KB where compression is turned off in the name of CPU utilization -->
</init-param>
于 2013-03-11T21:02:26.087 に答える