设置雄猫RECYCLE_FACADES的缺点=真实?



Apache Tomcat 8 Configuration Reference 指出 org.apache.catalina.connector.RECYCLE_FACADES = false 的默认值。 但是,安全注意事项网页说:

设置org.apache.catalina.connector.RECYCLE_FACADES系统属性 如果为 true,则会导致为每个请求创建一个新的外观对象。 这减少了应用程序中的错误暴露数据的可能性 一个请求到另一个请求。

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

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

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

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

最新更新