Hello all

Can anyone say something about what CPU utilization we can expect for a
producer/consumer process that is idle, i.e. not producing or consuming any
messages? Should it be like 0%? What is your experience?

We have a small program with a few kafka producers and consumers and we are
concerned about the CPU utilization when it is idle. Currently it uses on
average 6% CPU when idle and about 12% when under a low load of 4 messages
per second. In a scaled down test program with only one producer and one
consumer the corresponding figures are 2.6% and 4.8%.

We want to have a lot of different small processes each producing and
consuming a number of topics so we really want to minimize the CPU
utilization of each process, they will not all do heavy work at the same
time so occasional high loads for a process is not a problem, but if all
processes are using the CPU when not really doing anything useful we might
get into problem.

Tests are run with one local kafka broker, on a machine with Intel i7 2
Cores @ 3Ghz, 16 GB RAM, in a virtual environment with Ubuntu 14.04.4 LTS.
Using java kafka client 0.10.0.0. Our only kafka configuration parameter
that is not default is KAFKA_FETCH_MIN_BYTES that is 1 in order to reduce
latency.

So far we have not run so many processes at the same time, but we fear that
if we try to run a couple of hundred of these processes we will get into
problem.

Would greatly appreciate any input. If not else, please tell me the CPU
utilization of your producer/consumer processes when they are not really
under load. Just so I can conclude if our program behaves as expected or if
we have any configuration or environment issues

Thanks
Niklas Ström

Reply via email to