logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Strong Su <lovelo...@gmail.com>
Subject Re: Bizarre performance in log4j2
Date Sun, 11 Oct 2015 11:51:23 GMT
I was mean to run sync logger and sync appender to compare the basic
performance of log4j2.
But when I run command:
jstack -F <pid> | grep log
and command:
jstack -F <pid> | grep disruptor
I found many messages after command1 and they have the word of
AsyncAppender but nothing after command2.
Is that means my log4j2.xml was using async appender and sync logger?
If so, which property opens async appender by default?
And will using async logger and async appender at the same time reduce the
performance?


On Sun, Oct 11, 2015 at 6:21 PM, Strong Su <lovelosew@gmail.com> wrote:

> My log4j2 sync configuration is:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <Configuration>
>     <Appenders>
>         <!-- Async Loggers will auto-flush in batches, so switch off immediateFlush.
-->
>         <File name="File" fileName="{PATH}/a.log" immediateFlush="false" append="false">
>             <PatternLayout pattern="%d %-5p [%c{2}] %m%n"/>
>         </File>
>         <Console name="STDOUT" target="SYSTEM_OUT">
>             <PatternLayout pattern="%d %-5p [%c{2}] %m%n"/>
>         </Console>
>     </Appenders>
>
>     <Loggers>
>         <Root level="info" includeLocation="true">
>             <AppenderRef ref="File"/>
>             <AppenderRef ref="STDOUT"/>
>         </Root>
>     </Loggers>
>
> </Configuration>
>
> And async configuration change <Root> to <AsyncRoot>
>
> On Sun, Oct 11, 2015 at 10:51 AM, Remko Popma <remko.popma@gmail.com>
> wrote:
>
>> Can you post your log4j2 configuration?
>>
>> Sent from my iPhone
>>
>> > On 2015/10/10, at 21:58, Strong Su <lovelosew@gmail.com> wrote:
>> >
>> > I insert a log in a http request function on server side. And I start
>> > requests continually on client side through hundreds of threads.
>> > I measure the performance through QPS because server has to print a log
>> > whenever it receive a request. The time delayed by logging will
>> influence
>> > QPS heavily.
>> > When I didn't insert a log in the request function, QPS was about 20000.
>> > When I inserted a log4j1 log, QPS was about 10000.
>> > When I inserted a log4j2 sync log, QPS was about 18000.
>> > But when I inserted a log4j2 asycn log, QPS was only about 5000.
>> >
>> >> On Sat, Oct 10, 2015 at 8:34 PM, Remko Popma <remko.popma@gmail.com>
>> wrote:
>> >>
>> >> How did you measure the good performance (with sync logging) and the
>> bad
>> >> performance (with async)? What happens exactly when "it turns
>> terrible"?
>> >>
>> >>> On Saturday, 10 October 2015, Strong Su <lovelosew@gmail.com>
wrote:
>> >>>
>> >>> Hello everyone,
>> >>> I'm still testing log4j2 on our projects.
>> >>> When using it, I find it has a beautiful performance when using sync
>> >>> log4j2.
>> >>> But it turns terrible when I add -DLog4jContextSelector or change
>> <root>
>> >> to
>> >>> <AsyncRoot> in log4j2.xml to use async log4j2.
>> >>> I don't even have a clue on explaining this.What could cause this
>> bizarre
>> >>> problem?
>> >>>
>> >>> Thank you.
>> >>> Best regards,
>> >>> Dylan Su
>> >>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> For additional commands, e-mail: log4j-user-help@logging.apache.org
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message