Rainer and Doug,
On 4/30/25 12:47 PM, Rainer Jung wrote:
Am 30.04.25 um 15:59 schrieb Doug Whitfield:
Hi folks,
This feature was added in 9.0.90:
The system property org.apache.catalina.connector.RECYCLE_FACADES will
now default to true if not specified, which will in turn set the
default value for the discardFacades connector attribute, thus causing
facade objects to be discarded by default. (remm)
It makes sense that would cause some performance degradation. We are
currently seeing *at least* a 5x increase in the number of
connections. This doesn’t *seem* right, but maybe it is?
We’ve been able to reproduce this in 9.0.90 through 9.0.104. If we set
RECYCLE_FACADES to false, then we get the performance we have come to
expect.
I am trying to get some additional information from the performance
team to see what exactly they are doing. Perhaps something needs to be
updated in their code, but in the meantime wondering what others have
seen and what folks think is a reasonable degradation.
Maybe your environment was already experiencing a high memory/GC
pressure from object allocation. Then the additional allocations needed
due to throwing away the objects instead of reusing them cloud have
pushed the JVM over the border.
+1
The repeated allocations of these kinds of objects might be causing much
more frequent GC activity, especially if you have a very high number of
requests.
Performance bottlenecks often show non-linear behavior. As long as you
stay away from the bottleneck you wont observe it, when you get close to
it and above, it kills your throughput.
So when doing profiling etc. also check your for GC behavior and GC
logs. Analyzing apps for performance problems while in fact you have a
GC problem often feels like looking for an automotive engine problem
while in fact you have your hand brakes put on.
I would enable GC logging if you haven't already done so, and then
observe the situation both with and without recycling those facades.
Finally, remember that it's only the default that has changed. This
change was done for security and container-protection reasons. If your
application is well-behaved and you need that performance back, feel
free to change the settings from the default.
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org