+1 My concern is whether this change will affect some users who are creating many clients. I think we can wait for other users to confirm it. (If this will be affected, maybe we can give it a max_io_thread_num and then expand the size from 1 to max_io_thread_num when adding a new consumer or producer)
Best, Mattison On Dec 20, 2022, 11:17 +0800, 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