如果您是使用.net或.net core平台编写服务时服务负载能力已经达到顶峰,而CPU并没有得到充分利用,看看这篇文章,那么或许你可以得到一些启发。 目录 1、问题现象 2、线程数不够 3、什么是线程池 4、什么是异步编程? 5、通常是什么导致阻塞? 6、我怎么知道ThreadPool缺少线程? 6.1、PerfView / threadTime收集 6.2、寻找增长的线程数。 6.3、查找阻塞API 6.4、主动出击 6.5、 解决方法:在ThreadPool中强制使用更多线程 7、小结 1、问题现象 有一个api网关,采用的是.net core 2.1开发,其并发量达到一定程度时再难以上升,此时分析瓶颈存在哪里,在之前已经有所猜测,此处也算是证实下猜想。