Hi @Hiro,

I've written 2 post for Apache Pulsar performance tuning.
However, it has not been officially released yet, and it should be released
soon.

Here is the post links:

https://docs.google.com/document/d/1BTLSMRCP13CCOWbGe_Nre82HuotWStM91nfe9RK46kI/edit?usp=sharing
https://docs.google.com/document/d/11EQOXReu4DNSNRL9rn1DD0yzXN1cWWcEYsGoCKSrJdM/edit?usp=sharing

Hope that can help you.

Thanks,
Penghui

Sijie Guo <guosi...@gmail.com> 于2020年1月31日周五 上午7:50写道:

> + Penghui Li
>
> Penghui did a lot of performance tests before. Based on my memory, he was
> able to do 1.5 million messages/second (100 bytes) with batching and 500k
> messages/second (100 bytes) without batching.
>
> --
>
> Took a quick glance at your tests. It seems that you are using synchronous
> send for testing. This doesn't leverage batching in an efficient way.
>
> I would recommend using pulsar's `pulsar-perf` tool to get a baseline
> result to understand your environment (especially your disks) first.
>
> Thanks,
> Sijie
>
>
> On Thu, Jan 30, 2020 at 2:48 AM Hiroyuki Yamada <mogwa...@gmail.com>
> wrote:
>
>> Hello,
>>
>> I've been doing some micro-benchmarking with Pulsar and
>> wondering how to maximize the throughput.
>>
>> I can get about 30000 messages/s with 9 ms latency with 256 client
>> threads and 1K message size,
>> but  can not get more than that even though I increased the number of
>> client threads
>> even though it doesn't fully utilize CPU resource nor disk bandwidth or
>> IOPS.
>> (about 50% CPU usage, 34MB/s out of 120 MB/s for journal disk, ledger
>> disk is mostly not active)
>>
>> Is it an expected result under the environment shown below ?
>> I'm wondering if there is some configuration to get a better
>> throughput, or I'm doing something wrong.
>>
>> The environment I used is as follows.
>> node: 1 Standard E8s v3 (8 vcpus, 64 GiB memory) in Azure
>> mode: standalone
>> disk: 2 disks (1 for ledger, 1 for journal) each can achieve 5000 IOPS
>> for random I/O and 120 MB/s for sequential I/O.
>> topic: persistent partitioned topic, # of partitions: 32
>> config: default
>>
>> The program I used is here.
>>
>> https://github.com/feeblefakie/misc/blob/master/pulsar/src/main/java/PulsarProducerBenchmark.java
>> (This program basically concurrently produces a specified sized record
>> to the broker,
>> and measures the throughput and an average latency.)
>>
>> It can be easily re-run if you follow the README.
>> https://github.com/feeblefakie/misc/blob/master/pulsar/
>>
>> It would be great if someone can help me.
>>
>> Thanks,
>> Hiro
>>
>

Reply via email to