一、需求缘起
Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。
“工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本文要讨论的问题。
二、共性认知
在进行进一步深入讨论之前,先以提问的方式就一些共性认知达成一致。
问:工作线程数是不是设置的越大越好?
答:
肯定不是的
服务器CPU核数有限,能够同时并发的线程数有限,单核CPU设置10000个工作线程没有意义
线程切换是有开销的,如果线程切换过于频繁,反而会使性能降低
问:调用sleep()函数的时候,线程是否一直占用CPU?
答:不占用,等待时会把CPU让出来,给其他需要CPU资源的线程使用
继续阅读与本文标签相同的文章
上一篇 :
MySQL冗余数据的三种方案 | 架构师之路
-
互联网分层架构之-DAO与服务化
2026-05-20栏目: 教程
-
互联网分层架构的本质
2026-05-20栏目: 教程
-
MySQL的or/in/union与索引优化 | 架构师之路
2026-05-20栏目: 教程
-
多key业务,数据库水平切分架构一次搞定
2026-05-20栏目: 教程
-
一分钟了解索引技巧 | 架构师之路
2026-05-20栏目: 教程
