一台服务器上启动多少线程合适呢?假设服务器上执行的都是相同类型任务,针对该类任务启动的线程数有个简化的估算公式可供参考:
启动现成数 = [任务执行时间/(任务执行时间-IO等待时间)]×CPU内核数
最佳启动线程数与CPU内核数量成正比,和IO等待时间成正比。
- 如果任务是CPU计算型任务,那么线程数最多不超过CPU内核数,因为启动再多线程,CPU也来不及调度
- 相反如果是任务需要等待磁盘操作,网络响应,那么多启动线程有助于提高任务并发度,提高系统吞吐能力,改善系统性能。
一台服务器上启动多少线程合适呢?假设服务器上执行的都是相同类型任务,针对该类任务启动的线程数有个简化的估算公式可供参考:
启动现成数 = [任务执行时间/(任务执行时间-IO等待时间)]×CPU内核数
最佳启动线程数与CPU内核数量成正比,和IO等待时间成正比。