In multi-reactor framework such as Vert.X we can set the number of event-loop threads, e.g.:
final VertxOptions vertxOptions = new VertxOptions();
vertxOptions.setEventLoopPoolSize(16);
final Vertx myVertx = Vertx.vertx(vertxOptions);
How to do the equivalent in Spring Boot 2 WebFlux / WebClient?
You have two options:
Override ReactiveWebServerFactory
bean with a customizer that applies event loop resources config:
@Bean
public ReactiveWebServerFactory reactiveWebServerFactory() {
NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory();
factory.addServerCustomizers(builder -> builder.loopResources(LoopResources.create("my-http", 16, true)));
return factory;
}
Or use -Dreactor.ipc.netty.workerCount=16
environment variable. By default it's value is set to Math.max(availableProcessors(), 4)
.
Example: java -jar your-app.jar -Dreactor.ipc.netty.workerCount=16
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With