kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jun Rao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-1115) producer performance affected by trace/debug calls
Date Sun, 03 Nov 2013 23:41:17 GMT

    [ https://issues.apache.org/jira/browse/KAFKA-1115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13812516#comment-13812516

Jun Rao commented on KAFKA-1115:

Thanks for the patch. Are you sure that scala doesn't do lazy evaluation? I did the following
test. It seems that it does?

scala> import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.atomic.AtomicInteger

scala> val c = new AtomicInteger(1)
c: java.util.concurrent.atomic.AtomicInteger = 1

scala> def a(msg: => String, isRun: Boolean) { if (isRun) println(msg) }
a: (msg: => String,isRun: Boolean)Unit

scala> a("test %d".format(c.incrementAndGet), false)

scala> c                                            
res3: java.util.concurrent.atomic.AtomicInteger = 1

> producer performance affected by trace/debug calls
> --------------------------------------------------
>                 Key: KAFKA-1115
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1115
>             Project: Kafka
>          Issue Type: Improvement
>          Components: producer 
>    Affects Versions: 0.8
>            Reporter: Francois Saint-Jacques
>            Assignee: Francois Saint-Jacques
>         Attachments: producer-performance-fix.patch
> After investigating high CPU usage on some producers in production, we found out that
a lot of time was passed in string construction for logging of DEBUG and TRACE level.
> This patch removes most of the logging calls, on our systems it cuts CPU usage down to
half of what it used to be.
> Note that this is a significant boost in performance for environment where there are
thousands of msg/s.

This message was sent by Atlassian JIRA

View raw message