Hi PengHui

I notice that if changing the default value of conf `ioThreads` of pulsar
client, it does not just affect the num of io threads, and it also affects
these thread pools:
- internal executor of the client
- scheduled executor of the client
- HTTP client io thread pool of pulsar admin client

see: https://github.com/apache/pulsar/pull/19020

 Should we provide other APIs to configure these three thread pools?

Thanks
Yubiao

On Tue, Dec 20, 2022 at 11:17 AM PengHui Li <peng...@apache.org> wrote:

> Hi all,
>
> I noticed the Java Client (I haven't checked other clients) uses 1 IO
> thread and 1 listener
> thread by default. It will require users to update the thread configuration
> if they have
> multiple cores and desired high throughput.
>
> Here is the example that we change to 16 IO threads in
> openmessaging benchmark
>
> https://github.com/openmessaging/benchmark/blob/master/driver-pulsar/pulsar.yaml#L22
>
> We can apply the configuration of the threads based on the CPU cores. So
> that for the
> most common cases, users don't need to touch the thread configuration.
>
> ```
> private int numIoThreads = Runtime.getRuntime().availableProcessors();
> private int numListenerThreads =
> Runtime.getRuntime().availableProcessors();
> ```
>
> WDYT?
>
> Thanks,
> Penghui
>

Reply via email to