[ https://issues.apache.org/jira/browse/LOG4J2-1318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198474#comment-15198474 ]
Remko Popma commented on LOG4J2-1318: ------------------------------------- I see now: each call to LoggerContext.getLogger() creates a String key to look up the logger. I guess our expectation was that Logger instances would be cached in fields so this lookup would not happen very often, while your usage is to look up the logger frequently. We can change the implementation to use a nested map, so composite keys are no longer needed. Something like {{Map<Class<? extends MessageFactory>, Map<String, Logger>}}. Getting things out and putting things in can be a bit fiddly, so perhaps we should wrap that logic in a custom {{LoggerCache}} container class, so it can be reused by the various LoggerContext implementations. > LoggerContext#getLogger causes heavy GC overhead > ------------------------------------------------ > > Key: LOG4J2-1318 > URL: https://issues.apache.org/jira/browse/LOG4J2-1318 > Project: Log4j 2 > Issue Type: Bug > Components: Core > Affects Versions: 2.5 > Reporter: Rodrigo Merino > Labels: performance > > With the changes from LOG4J2-1180, when running performance testing > scenarios, we are experiencing some throughput degradations due to an > increase in the GC stall time. > With the changes from LOG4J2-1180, the GC stall went from ~6% to ~11%, having > an impact on the application of a reduction of ~32% of the operations > throughput. The memory allocation rate both before and after the change is > 4GB/s and 12GB/s respectively. > In both cases, the relevant jvm configuration params were: > {code} > -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDetails -XX:+PrintGCDateStamps > -XX:+PrintTenuringDistribution -XX:ErrorFile=%MHOME%/logs/err.log > -Xloggc:%HOME%/logs/gc.log -XX:+HeapDumpOnOutOfMemoryError > -XX:+AlwaysPreTouch -Xms2048m -XX:PermSize=256m -XX:MaxPermSize=256m > -XX:+UseParNewGC -XX:NewSize=1024m -XX:+UseNUMA > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org