icinga2
icinga2 copied to clipboard
Two separate CpuBoundWork semaphores – HTTP | JSONRPC
Is your feature request related to a problem? Please describe.
One of our customers is DDoSing their Icinga 2 via /v1/hosts (a lot of hosts btw.). That locks up cluster communication entirely.
Describe the solution you'd like
The separate HTTP CpuBoundWork gets e.g. 1 slot or 1/2 of all so that it doesn't bother the cluster.
Describe alternatives you've considered
Put actual processing of HTTP requests in a queue.
Additional context
ref/IP/48306
Describe alternatives you've considered
Put actual processing of HTTP requests in a queue.
- Actually the standard thread pool would be nice, the coroutine could suspend itself during processing, just like in #9990
Maybe Icinga DB even deserves its own I/O, isolated from everything else. So that it doesn't influence cluster communication throughput.