While using Spring 5 reactive webflux with Spring boot 2.0, what's the default number of threads used to handle requests? How can I configure the number of threads used?
            Asked
            
        
        
            Active
            
        
            Viewed 1.6k times
        
    2 Answers
11
            The default number of threads for request handling is determined by the underlying web server; by default, Spring Boot 2.0 is using Reactor Netty, which is using  Netty's defaults (check out the EventLoopGroup documentation for that).
Spring Boot will soon allow you to customize that part (see #10418). In the meantime, you can provide your own ReactiveWebServerFactory bean and change that through the HttpServer configuration options (see this comment).
        Brian Clozel
        
- 56,583
 - 15
 - 167
 - 176
 
- 
                    Currently I see `reactor-http-nio-1` in the logs, I use SpringBoot 2.0.0 M6. How can I configure netty to use all cores? – Shadowfax Nov 26 '17 at 04:21
 
8
            
            
        Currently, it seems that Spring Webflux 2.0 does not provide the ability to control threads.
Spring Webflux 2.0 is using Reactor-Netty. And ReactorNettyclass provides some configurations.
- reactor.netty.ioWorkerCount
 - reactor.netty.ioSelectCount
 - reactor.netty.pool.maxConnections
 - etc
 
So, You can use it like this.
System.setProperty("reactor.netty.ioWorkerCount", "100");
I hope that Spring Boot will provide a custom configuration.
        Mohit Kanwar
        
- 2,962
 - 7
 - 39
 - 59
 
        Young Jae Kim
        
- 81
 - 1
 - 3