【问题标题】:How to set the max tomcat gzip compression size?如何设置最大tomcat gzip压缩大小?
【发布时间】:2013-03-11 20:59:14
【问题描述】:

我正在配置 tomcat 以压缩基于文本的文件。 我目前的配置有:

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

但是,我注意到超过 60kb 的 javascript 文件没有被压缩。 我是否缺少任何隐藏设置?

【问题讨论】:

    标签: java tomcat gzip


    【解决方案1】:

    搜索 documentation for tomcat7 我找不到对 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 连接器的属性,如下所述,或更改 sendfile 使用阈值在 DefaultServlet 的配置中 默认的 conf/web.xml 或 web 应用程序的 web.xml。

    因此,如果您想以 CPU 利用率为代价来节省带宽,您可以通过将此设置添加到您的 web.xml (seen here) 来禁用此触发器:

    <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>
    

    【讨论】:

    • 深入研究,我确实发现了一些与您的经历相关的东西。
    • 没问题,现在我将返回我的 Tomcat 服务器,看看我是否一直在使用此设置限制我的性能。我猜你每天都会学到新东西:)
    猜你喜欢
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    相关资源
    最近更新 更多