The only threads in Log4j that I can think of that are short lived are the 
threads that compress the files at rollover. That would only consume a lot of 
CPU if rollover is happening a lot.

Ralph

> On Feb 13, 2017, at 1:12 PM, Christopher Schultz 
> <ch...@christopherschultz.net> wrote:
> 
> Ronald,
> 
> On 2/13/17 2:29 PM, DiFrango, Ronald wrote:
>> Yeah, I’m aware and agreed, but this is done in the Apache HTTP Client 
>> Component’s Code, not ours and existed as-is with log4j2 in ALL the versions 
>> we’ve been using.
>> 
>> That said, I think this is a red herring and it’s still true that at least 
>> for our application any version of log4j2 beyond 2.5 consumes more CPU that 
>> 2.5 this is a REST based APi using Tomcat+Jersey+Spring [again nothing has 
>> changed] and processing around 50 transactions per second with a guarantee 
>> of a minimum of 1 log record to request.
>> 
>> We just haven’t identified WHERE its causing the issue.
>> 
>> One additional data point, we are using the bridging JAR’s for the following 
>> as not all 3rd party libraries follow any standard on what they use:
>> 
>>       Classis log4j
>>       SLF4J
>>       commons-logging
> 
> 
> You mentioned that lots of threads were being created and that they were
> short-lived. What code is creating those threads? You never said...
> 
> -chris
> 
>> On 2/13/17, 2:11 PM, "Apache" <ralph.go...@dslextreme.com> wrote:
>> 
>>    The log.debug call will exit quickly, but if it is constructing a large 
>> message that will happen anyway unless one of the standard techniques (like 
>> wrapping in a logger.isDebugEnabled call) is used to avoid it. Constructing 
>> debug Strings can be expensive.
>> 
>>    Ralph
>> 
>>> On Feb 13, 2017, at 10:58 AM, DiFrango, Ronald 
>>> <ronald.difra...@capitalone.com> wrote:
>>> 
>>> No we are not and since it’s a log.debug() it should just get dropped on 
>>> the floor before any sort of copying occurs, right?
>>> 
>>> Ron DiFrango
>>> 
>>> On 2/13/17, 12:50 PM, "Matt Sicker" <boa...@gmail.com> wrote:
>>> 
>>>   Are you logging that info?
>>> 
>>>   On 13 February 2017 at 11:46, DiFrango, Ronald <
>>>   ronald.difra...@capitalone.com> wrote:
>>> 
>>>> All,
>>>> 
>>>> One thing we just noticed is that we are using Apache’s HTTP connection
>>>> pooling for our downstream calls and in our latest performance run is that
>>>> the READ operation on org.apache.http.impl.conn.LoggingInputStream seems
>>>> to be taking a bulk of the time.
>>>> 
>>>> If I look at the code, once the HTTP client reads the byte stream it
>>>> issues a log.debug which could be a large payload, I wonder if that’s what
>>>> is causing the issue?
>>>> 
>>>> Please note aware, the version of httpclient we’ve been using has also
>>>> been constant:
>>>> 
>>>> <dependency>
>>>>       <groupId>org.apache.httpcomponents</groupId>
>>>>       <artifactId>httpclient</artifactId>
>>>>       <version>4.5.2</version>
>>>> </dependency>
>>>> 
>>>> Ron DiFrango
>>>> 
>>>> 
>>>> On 2/13/17, 11:44 AM, "DiFrango, Ronald" <ronald.difra...@capitalone.com>
>>>> wrote:
>>>> 
>>>>   This is running in Tomcat 8.0.33 in a Docker Container via AWS’s ECS
>>>> which is identical to before with log4j2 2.5.
>>>> 
>>>>   We’ve run the application with Visual VM and the one thing for sure
>>>> that we’ve seen is that in 2.6.2 it created tons of threads, something like
>>>> 50+ but on 2.6 or 2.7 it was only 2.  Now the threads were short lived, but
>>>> they got created.
>>>> 
>>>>   We’re running another performance test today with Async loggers to see
>>>> if that helps or exhibits the same thing though previous testing with Async
>>>> had some of the same char
>>>> 
>>>>   Here’s our layout pattern:
>>>> 
>>>>          [%t] %d{DATE} %-5p %-15c{1} [%X]: %cm%n
>>>> 
>>>>   Please not the %cm is a custom message handler that we use to use to
>>>> handle security filtering of the message payload aka we extend from
>>>> LogEventPatternConverter.
>>>> 
>>>>   Thanks,
>>>> 
>>>>   Ron DiFrango
>>>> 
>>>>   On 2/13/17, 11:22 AM, "Matt Sicker" <boa...@gmail.com> wrote:
>>>> 
>>>>       What server environment are you running this in?
>>>> 
>>>>       On 13 February 2017 at 09:19, Remko Popma <remko.po...@gmail.com>
>>>> wrote:
>>>> 
>>>>> Ron,
>>>>> 
>>>>> We haven't heard of any issues like you describe.
>>>>> Have you tried running your application with Java Flight Recorder
>>>>> <https://docs.oracle.com/javacomponents/jmc-5-4/jfr-
>>>>> runtime-guide/run.htm#JFRUH176>?
>>>>> This should help diagnose what is going on.
>>>>> 
>>>>> Remko
>>>>> 
>>>>> 
>>>>> 
>>>>> On Mon, Feb 13, 2017 at 9:59 PM, DiFrango, Ronald <
>>>>> ronald.difra...@capitalone.com> wrote:
>>>>> 
>>>>>> All,
>>>>>> 
>>>>>> We recently upgrade to 2.6 and noticed a dramatic increase in
>>>> CPU and
>>>>>> Thread utilization that seems to be tied to the new “garbage
>>>> free” mode
>>>>> of
>>>>>> log4j  2.6.  Here’s some of the baseline numbers:
>>>>>> 
>>>>>> 
>>>>>> ·         Log4j 2.5: CPU typically ran around 25%
>>>>>> 
>>>>>> ·         Log4j 2.6: CPU typically ran around 75%
>>>>>> 
>>>>>> ·         Log4j 2.6.2+: CPU typically ran around 100%
>>>>>> 
>>>>>> ·         We’ve also tried turning off garbage free mode and
>>>> that made
>>>>>> things worse as the CPU was around 120% and caused us to not
>>>> meet our
>>>>> SLA’s
>>>>>> 
>>>>>> It important to note that this is a REST Api using Jersey and
>>>> typically
>>>>>> responds in about in under 50ms on a per request so its high
>>>> volume, but
>>>>>> the logging level is WARN or higher except for our single
>>>> performance log
>>>>>> record which is written once per request using the lambda base
>>>> approach.
>>>>>> 
>>>>>> Our next test is going to be switching to all ASYNC loggers
>>>> and see what
>>>>>> effect that has, but I guess the general question is, has
>>>> anyone else
>>>>> seen
>>>>>> this?  Any thoughts?
>>>>>> 
>>>>>> Ron DiFrango
>>>>>> ________________________________________________________
>>>>>> 
>>>>>> The information contained in this e-mail is confidential and/or
>>>>>> proprietary to Capital One and/or its affiliates and may only
>>>> be used
>>>>>> solely in performance of work or services for Capital One. The
>>>>> information
>>>>>> transmitted herewith is intended only for use by the
>>>> individual or entity
>>>>>> to which it is addressed. If the reader of this message is not
>>>> the
>>>>> intended
>>>>>> recipient, you are hereby notified that any review,
>>>> retransmission,
>>>>>> dissemination, distribution, copying or other use of, or
>>>> taking of any
>>>>>> action in reliance upon this information is strictly
>>>> prohibited. If you
>>>>>> have received this communication in error, please contact the
>>>> sender and
>>>>>> delete the material from your computer.
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>>       --
>>>>       Matt Sicker <boa...@gmail.com>
>>>> 
>>>> 
>>>>   ________________________________________________________
>>>> 
>>>>   The information contained in this e-mail is confidential and/or
>>>> proprietary to Capital One and/or its affiliates and may only be used
>>>> solely in performance of work or services for Capital One. The information
>>>> transmitted herewith is intended only for use by the individual or entity
>>>> to which it is addressed. If the reader of this message is not the intended
>>>> recipient, you are hereby notified that any review, retransmission,
>>>> dissemination, distribution, copying or other use of, or taking of any
>>>> action in reliance upon this information is strictly prohibited. If you
>>>> have received this communication in error, please contact the sender and
>>>> delete the material from your computer.
>>>> 
>>>>   ---------------------------------------------------------------------
>>>>   To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>>>   For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>>> 
>>>> 
>>>> 
>>>> ________________________________________________________
>>>> 
>>>> The information contained in this e-mail is confidential and/or
>>>> proprietary to Capital One and/or its affiliates and may only be used
>>>> solely in performance of work or services for Capital One. The information
>>>> transmitted herewith is intended only for use by the individual or entity
>>>> to which it is addressed. If the reader of this message is not the intended
>>>> recipient, you are hereby notified that any review, retransmission,
>>>> dissemination, distribution, copying or other use of, or taking of any
>>>> action in reliance upon this information is strictly prohibited. If you
>>>> have received this communication in error, please contact the sender and
>>>> delete the material from your computer.
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>>> 
>>>> 
>>> 
>>> 
>>>   -- 
>>>   Matt Sicker <boa...@gmail.com>
>>> 
>>> 
>>> ________________________________________________________
>>> 
>>> The information contained in this e-mail is confidential and/or proprietary 
>>> to Capital One and/or its affiliates and may only be used solely in 
>>> performance of work or services for Capital One. The information 
>>> transmitted herewith is intended only for use by the individual or entity 
>>> to which it is addressed. If the reader of this message is not the intended 
>>> recipient, you are hereby notified that any review, retransmission, 
>>> dissemination, distribution, copying or other use of, or taking of any 
>>> action in reliance upon this information is strictly prohibited. If you 
>>> have received this communication in error, please contact the sender and 
>>> delete the material from your computer.
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>>> 
>> 
>> 
>> 
>>    ---------------------------------------------------------------------
>>    To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>>    For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
>> 
>> 
>> ________________________________________________________
>> 
>> The information contained in this e-mail is confidential and/or proprietary 
>> to Capital One and/or its affiliates and may only be used solely in 
>> performance of work or services for Capital One. The information transmitted 
>> herewith is intended only for use by the individual or entity to which it is 
>> addressed. If the reader of this message is not the intended recipient, you 
>> are hereby notified that any review, retransmission, dissemination, 
>> distribution, copying or other use of, or taking of any action in reliance 
>> upon this information is strictly prohibited. If you have received this 
>> communication in error, please contact the sender and delete the material 
>> from your computer.
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
>> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-user-h...@logging.apache.org

Reply via email to