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 >