[prev in list] [next in list] [prev in thread] [next in thread]
List: log4j-dev
Subject: [jira] [Created] (LOG4J2-327) Log4j 2 drastical performance loss
From: "Sebastian Oerding (JIRA)" <jira () apache ! org>
Date: 2013-07-30 9:57:53
Message-ID: JIRA.12660627.1375178167318.135431.1375178273939 () arcas
[Download RAW message or body]
Sebastian Oerding created LOG4J2-327:
----------------------------------------
Summary: Log4j 2 drastical performance loss
Key: LOG4J2-327
URL: https://issues.apache.org/jira/browse/LOG4J2-327
Project: Log4j 2
Issue Type: Bug
Components: Appenders, Core, Layouts
Affects Versions: 2.0-beta8, 2.0-beta7
Environment: Windows 7 64 bit, JDk 1.6.0_43
Reporter: Sebastian Oerding
Priority: Blocker
Hello,
we encountered a severe performance loss with log4j 2. Unfortunately we have no exact \
error description such as a stacktrace but I'll give it may best shot.
We are developing an application working with mass data. During the development we \
are running tests such as importing 15,000 files via FTP or creating 500,000 business \
objects and workiong with them.
Switching from log4j 1.2.17 to log4j 2 we ran into really severe performance issues.
With the beta7 we even get an OutOfMemoryError. Using a profiler we see that there \
was a huge amount of string objects (that were log messages according to a control \
sample). Switching to the beta8 the profiler shows there are only 10 % of the string \
objects left that we had before but it still was a big number. Especially the strings \
live for a really long time (> 100 generations).
Using the RollingFileAppender and ConsoleAppender, (not a FlumeAppender for which a \
memory has been fixed in beta8) and default garbage collection we had the following \
behaviour with beta8:
Starting the application (each time exactly the same test scenario) the machine \
fastly reaches the memory limit given for the JVM. Afterwards periodically garbage \
collection is invoked, causing a long "Stop the World Phase" (8 minutes in another \
scenario), freeing memory down a "base level" and the application continues until the \
memory is full again. The base level remains the same for next invocations of the \
garbage collection.
This may relate to tickets: https://issues.apache.org/jira/browse/LOG4J2-323, \
https://issues.apache.org/jira/browse/LOG4J2-322, \
https://issues.apache.org/jira/browse/LOG4J2-304.
Furthermore when looking into one string object being not GCed (372 KB) I noticed \
that it contained a lot of log messages being concatenated. The application contains \
no log statement that logs such a big message. Looking at the string towards the end \
I found even complete log events including the log level and so on not only the \
message. This feels being related to \
https://issues.apache.org/jira/browse/LOG4J2-290, somehow log events / strings get \
concatenated / corrupted.
Maybe it is even a problem with the ParameterizedMessage which we use a lot of.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic