The number of net threads is calculated once at startup, but we ought to consider dynamically scaling the number of threads a runtime based on load.
zwoop: right, that's what I meant (keep a counter of how many times epoll had no events, and treat that as an "idle" thread)
zwoop: probably a multiplier of some setting (thread_idle_seconds or some such)
zwoop: this would be a cool feature, if you have the time for it
zwoop: can keep the original calculations / settings as the "upper" limit I think
zwoop: (the calculations can also easily be configured in records.config, so that people can modify that upper limit)
zwoop: an ideal solution (backward compatible) would be to just add one new setting, <reap_idle_threads_seconds> or some such, default to 0 . With it not set, our normal logic applies. With it set, your stuff takes effect, but cap it at whatever the other settings are.