You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by John Yost <ho...@gmail.com> on 2016/02/20 12:57:39 UTC

Decreasing number of partitions INCREASED write throughput--thoughts?

Hi Everyone,

I discovered yesterday completely by accident. When I went from writing to
10 topics each with 10 partitions to 10 topics each with 2 partitions--all
other config params are the same--my write throughput almost doubled!  I
was not expecting this as I've always thought--and, admittedly, I am still
coming up to speed on Kafka--that increasing parallelism via increasing the
number of partitions and/or topics would increase write throughput. I was
actually experimenting going from 10 partitions per topic to 20 partitions
in an effort to increase throughput but stumbled upon 10X2.

Important notes:

1. Replication factor is 1
2. async producer
3. request.required.acks is 1

Any ideas?

--John

Re: Decreasing number of partitions INCREASED write throughput--thoughts?

Posted by Gerard Klijs <ge...@dizzit.com>.
Interesting,

Do you have any way to look into the amount and size of the actual traffic
being send. I assume because there are more partitions the actual sending
of the messages is separated into more messages, leading to more overhead.

On Sat, Feb 20, 2016 at 12:57 PM John Yost <ho...@gmail.com> wrote:

> Hi Everyone,
>
> I discovered yesterday completely by accident. When I went from writing to
> 10 topics each with 10 partitions to 10 topics each with 2 partitions--all
> other config params are the same--my write throughput almost doubled!  I
> was not expecting this as I've always thought--and, admittedly, I am still
> coming up to speed on Kafka--that increasing parallelism via increasing the
> number of partitions and/or topics would increase write throughput. I was
> actually experimenting going from 10 partitions per topic to 20 partitions
> in an effort to increase throughput but stumbled upon 10X2.
>
> Important notes:
>
> 1. Replication factor is 1
> 2. async producer
> 3. request.required.acks is 1
>
> Any ideas?
>
> --John
>