线程数如何设置可以参考《Java并发编程实战》这本书给出的建议,如下图:
就是这个公式:
threads = N CPU * U CPU * (1 + W/C)
其中:
- N CPU 是处理器的核数
- U CPU 是期望的CPU利用率(介于0和1之间)
- W/C是等待时间与计算时间的比率‘
网上也有这么区分的:
如果服务是cpu密集型的,设置为电脑的核数
如果服务是io密集型的,设置为电脑的核数*2
其实我觉得并不严谨,尤其是io密集型的还要参考QPS和web服务器的配置。
线程数如何设置可以参考《Java并发编程实战》这本书给出的建议,如下图:
就是这个公式:
threads = N CPU * U CPU * (1 + W/C)
其中:
网上也有这么区分的:
如果服务是cpu密集型的,设置为电脑的核数
如果服务是io密集型的,设置为电脑的核数*2
其实我觉得并不严谨,尤其是io密集型的还要参考QPS和web服务器的配置。