设置Tomcat的RECYCLE_FACADES = true的缺点?

时间:2019-09-03 19:51:14

标签: tomcat tomcat8

Apache Tomcat 8 Configuration Reference指出org.apache.catalina.connector.RECYCLE_FACADES的默认值= false。但是,Security Considerations web page说:

  

设置org.apache.catalina.connector.RECYCLE_FACADES系统属性   设置为true将为每个请求创建一个新的外观对象。   这减少了应用程序中暴露来自以下对象的数据的错误的机会   一个请求到另一个。

因为默认值是不太安全的值,所以我想知道为什么。我认为其中一部分与性能有关,但是关于RECYCLE_FACADES的讨论很少。将其设置为true有什么缺点?

1 个答案:

答案 0 :(得分:1)

设置org.apache.catalina.connector.RECYCLE_FACADES=true的主要缺点是性能。 Tomcat在请求中重用了尽可能多的对象,以减少 GC流失(即重复创建和丢弃许多对象)。这些对象的使用不会导致性能差异,只有丢弃和重新创建的循环会降低性能。

默认设置不是“不安全”本身,而是带有错误的应用程序可能导致Tomcat看起来做非常奇怪的事情。因此,如果应用程序没有违反任何规则,则应首选性能更高的配置。

如果您不信任在Tomcat实例上运行的应用程序,则一定要启用RECYCLE FACADES