If you run producerPerformance test, there is only one thread per
KafkaProducer doing the actual sending. But one network request could
contain multiple batches from what I understand.

On Mon, Aug 17, 2015 at 5:42 PM, Yuheng Du <yuheng.du.h...@gmail.com> wrote:

> Thank you Kishore, I made the buffer twice the size of the batch size and
> the latency has reduced significantly.
>
> But is there only one thread io thread sending the batches? Can I increase
> the number of threads sending the batches so more than one batch could be
> sent at the same time?
>
> Thanks.
>
>
>
> On Thu, Aug 13, 2015 at 5:38 PM, Kishore Senji <kse...@gmail.com> wrote:
>
> > Your batch.size is 8196 and your buffer.memory is 67108864. This means
> > 67108864/8196
> > ~ 8188 batches are in memory ready to the sent. There is only one thread
> io
> > thread sending them. I would guess that the io thread (
> > kafka-producer-network-thread) would be busy. Please check it in visual
> vm.
> >
> > In steady state, every batch has to wait for the previous 8187 batches to
> > be done before it gets a chance to be sent out, but the latency is
> counted
> > from the time is added to the queue. This is the reason that you are
> seeing
> > very high end-to-end latency.
> >
> > Have the buffer.memory to be only twice that of the batch.size so that
> > while one is in flight, you can another batch ready to go (and the
> > KafkaProducer would block to send more when there is no memory and this
> way
> > the batches are not waiting in the queue unnecessarily) . Also may be you
> > want to increase the batch.size further more, you will get even better
> > throughput with more or less same latency (as there is no shortage of
> > events in the test program).
> >
> > On Thu, Aug 13, 2015 at 1:13 PM Yuheng Du <yuheng.du.h...@gmail.com>
> > wrote:
> >
> > > Yes there is. But if we are using ProducerPerformance test, it's
> > configured
> > > as giving input when running the test command. Do you write a java
> > program
> > > to test the latency? Thanks.
> > >
> > > On Thu, Aug 13, 2015 at 3:54 PM, Alvaro Gareppe <agare...@gmail.com>
> > > wrote:
> > >
> > > > I'm using last one, but not using the ProducerPerformance, I created
> my
> > > > own. but I think there is a producer.properties file in config folder
> > in
> > > > kafka.. is that configuration not for this tester ?
> > > >
> > > > On Thu, Aug 13, 2015 at 4:18 PM, Yuheng Du <yuheng.du.h...@gmail.com
> >
> > > > wrote:
> > > >
> > > > > Thank you Alvaro,
> > > > >
> > > > > How to use sync producers? I am running the standard
> > > ProducerPerformance
> > > > > test from kafka to measure the latency of each message to send from
> > > > > producer to broker only.
> > > > > The command is like "bin/kafka-run-class.sh
> > > > > org.apache.kafka.clients.tools.ProducerPerformance test7 50000000
> 100
> > > -1
> > > > > acks=1 bootstrap.servers=esv4-hcl198.grid.linkedin.com:9092
> > > > > buffer.memory=67108864 batch.size=8196"
> > > > >
> > > > > For running producers, where should I put the producer.type=sync
> > > > > configuration into? The config/server.properties? Also Does this
> mean
> > > we
> > > > > are using batch size of 1? Which version of Kafka are you using?
> > > > > thanks.
> > > > >
> > > > > On Thu, Aug 13, 2015 at 3:01 PM, Alvaro Gareppe <
> agare...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Are you measuring latency as time between producer and consumer ?
> > > > > >
> > > > > > In that case, the ack shouldn't affect the latency, cause even
> > tough
> > > > your
> > > > > > producer is not going to wait for the ack, the consumer will only
> > get
> > > > the
> > > > > > message after its commited in the server.
> > > > > >
> > > > > > About latency my best result occur with sync producers, but the
> > > > > throughput
> > > > > > is much lower in that case.
> > > > > >
> > > > > > About not flushing to disk I'm pretty sure that it's not an
> option
> > in
> > > > > kafka
> > > > > > (correct me if I'm wrong)
> > > > > >
> > > > > > Regards,
> > > > > > Alvaro Gareppe
> > > > > >
> > > > > > On Thu, Aug 13, 2015 at 12:59 PM, Yuheng Du <
> > > yuheng.du.h...@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Also, the latency results show no major difference when using
> > ack=0
> > > > or
> > > > > > > ack=1. Why is that?
> > > > > > >
> > > > > > > On Thu, Aug 13, 2015 at 11:51 AM, Yuheng Du <
> > > > yuheng.du.h...@gmail.com>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > I am running an experiment where 92 producers is publishing
> > data
> > > > > into 6
> > > > > > > > brokers and 10 consumer are reading online data
> simultaneously.
> > > > > > > >
> > > > > > > > How should I do to reduce the latency? Currently when I run
> the
> > > > > > producer
> > > > > > > > performance test the average latency is around 10s.
> > > > > > > >
> > > > > > > > Should I disable log.flush? How to do that? Thanks.
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Ing. Alvaro Gareppe
> > > > > > agare...@gmail.com
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Ing. Alvaro Gareppe
> > > > agare...@gmail.com
> > > >
> > >
> >
>

Reply via email to