Verticle Instance Scaling Limits for Low-Traffic Resource Optimization
22.5K reputation · 22 Feb 2020, 23:52 UTC
Event Loop Resource Allocation
Vert.x employs a multi-reactor pattern where a fixed number of event loops handle I/O operations. In low-traffic environments, the goal is to minimize the memory and CPU footprint by reducing the number of active threads and verticle instances without compromising the non-blocking nature of the EventBus.
Resource Constraints
While deploying multiple verticle instances can scale performance on multi-core systems, over-provisioning in a low-traffic scenario may introduce unnecessary scheduling overhead and increase the baseline memory footprint of the JVM. There is a trade-off between maintaining high availability for sporadic bursts and minimizing idling resource costs.
What is the recommended minimum number of verticle instances for a low-traffic workload to ensure stability while minimizing thread overhead? Does reducing the instance count below the available CPU core count impact the efficiency of the Netty buffer pool?