从理论上来讲,是有一套公式的,但还需要看业务,进行压测。

CPU密集

1+核心数,为什么加1呢?避免,当线程因为偶尔的内存页失效或其他原因导致阻塞时,这个额外的线程可以顶上,从而保证 CPU 的利用率。

IO密集操作

大部分的业务都是IO密集操作
image.png
如图所示,IO操作耗时是CPU操作耗时的两倍,那么在一个线程进行IO操作,另外的两个线程就可以使用CPU了。
公式:1 + IO操作时间 /CPU操作时间
多核:核心数 * (1 + IO操作时间 /CPU操作时间)