You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Async appenders show very bad performance when configured to not drop events when the ring buffer is full (appendTimeout=-1).
The async appender first try publish the event in the ring buffer then sleeps for appendRetryFrequency milliseconds before retrying. This relatively long sleep affects performance dramatically.
An alternative is to use an exponential backoff strategy capped by the appendRetryFrequency. This should give better performance while still limiting the CPU consumption.
The text was updated successfully, but these errors were encountered:
brenuart
changed the title
Bad Async performance under heavy load when appender configured to *not* drop events
Bad Async performance under heavy load when appender is configured to *not* drop events
Aug 23, 2021
Another problem arise in CPU constraint environments when more threads than the available cores are retrying at the same time. The first retries happen at high rate (a few nanoseconds pauses) then slow down up to the configured appendRetryTimeout. This behaviour increases throughput at the expense of additional CPU cycles. We should limit the retries to a single thread at once to avoid overwhelming the system when only a few cores are available.
brenuart
changed the title
Bad Async performance under heavy load when appender is configured to *not* drop events
Low async throughput under heavy load when appender is configured to *not* drop events
Aug 24, 2021
The Async appenders show very bad performance when configured to not drop events when the ring buffer is full (
appendTimeout=-1
).The async appender first try publish the event in the ring buffer then sleeps for
appendRetryFrequency
milliseconds before retrying. This relatively long sleep affects performance dramatically.An alternative is to use an exponential backoff strategy capped by the
appendRetryFrequency
. This should give better performance while still limiting the CPU consumption.The text was updated successfully, but these errors were encountered: