Почему Tomcat собирается в 200+ потоков с Spring WebFlux? - PullRequest
0 голосов
/ 18 ноября 2018

Я делаю POC с Spring WebFlux на Tomcat.Стек полностью реактивный и использует Spring Reactor и Reactive Couchbase.

Когда я добавил нагрузку на Систему, я увидел, что количество потоков в JVisualVM увеличилось до 200+.В основном, потоки реактор-http были ограничены, примерно 4, как и ожидалось.

Но количество потоков http-nio-exec возросло до 200. Если я использую Netty вместо Tomcat, то количество потоков ограничено только 30.

Может кто-нибудь объяснить, почему Tomcat раскручивает столько потоков с помощью Reactive Stack?

1 Ответ

0 голосов
/ 18 ноября 2018

Потому что в netty реализован механизм цикла событий, который позволяет эффективно передавать входящие соединения. Tomcat по-прежнему использует модель одного потока на запрос.

Это довольно интересная статья по этому вопросу:

https://kamilszymanski.github.io/resources-utilization-in-reactive-services/

...