我正在使用Tomcat上的Spring WebFlux做POC。堆叠采用全无功,采用弹簧电抗器和反应耦合器。
当我在系统上添加load时,我看到JVisualVM中的线程数增加到了200+。基本上,反应堆-http线程是有限的,大约4个如预期的.
但是的http线程跃升到大约200个。如果我使用Netty而不是Tomcat运行,那么线程的数量仅限于30个。
有人能解释为什么Tomcat会用一个反应堆栈来旋转这么多的线程吗?
发布于 2018-11-18 12:21:34
因为netty已经实现了一种事件循环机制,它分配给不启动连接的有效切换。Tomcat仍然在每个请求中使用模型一个线程。
这是一篇关于这个问题的非常令人振奋的文章:
https://kamilszymanski.github.io/resources-utilization-in-reactive-services/
https://stackoverflow.com/questions/53362131
复制相似问题