在 Tomcat 7 上部署我们的应用程序(Java、Spring)时没问题。现在我们升级到Tomcat 8,它在提供静态内容时非常慢。查看开发人员工具(请参阅下面的快照),每个静态内容请求(小型.js和.css文件)所需的时间与我们在 server.xml 中为connectionTimeout配置的一样多。因为默认是 20000,所以可能需要 20 秒。对于每个文件。将此值降至 1000 时,速度会更快,并且需要 1 秒。为每一个。
这发生在使用默认配置的不同开发机器中。其他进程(Web 服务请求等)运行正常。
我想知道从哪里开始寻找什么。
下面描述的插件 (pjl-comp-filter) 被用作 CompressionFilter,根据 ziplet(其后继者)的 Github 中的一个未解决问题,该插件与 Tomcat 8 不兼容: https ://github.com/ziplet /ziplet/问题/6
我用以下解决方案之一替换了它并且它有效:
您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?
所以以前的配置,不适用于 Tomcat 8 是:
pom.xml 中的依赖项:
<dependency>
<groupId>org.sourceforge</groupId>
<artifactId>pjl-comp-filter</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
和 web.xml :
<filter>
<filter-name>CompressingFilter</filter-name>
<filter-class>com.planetj.servlet.filter.compression.CompressingFilter</filter-class>
<init-param>
<param-name>includeContentTypes</param-name>
<param-value>text/html,multipart/form-data,text/css,application/x-javascript</param-value>
</init-param>
<init-param>
<param-name>compressionThreshold</param-name>
<param-value>256</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CompressingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2261 次 |
| 最近记录: |