首页 > 解决方案 > 设置 Tomcat 的 RECYCLE_FACDES = true 的缺点?

问题描述

Apache Tomcat 8 配置参考声明 org.apache.catalina.connector.RECYCLE_FACDES 的默认值 = false 。但是,安全注意事项网页说:

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

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

标签: tomcattomcat8

解决方案


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

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

如果您不信任在 Tomcat 实例上运行的应用程序,则绝对应该启用RECYCLE FACADES.


推荐阅读