icinga2 icon indicating copy to clipboard operation
icinga2 copied to clipboard

Two separate CpuBoundWork semaphores – HTTP | JSONRPC

Open Al2Klimov opened this issue 1 year ago • 6 comments

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

Al2Klimov avatar Apr 17 '24 09:04 Al2Klimov

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

Al2Klimov avatar Jun 20 '24 13:06 Al2Klimov

Maybe Icinga DB even deserves its own I/O, isolated from everything else. So that it doesn't influence cluster communication throughput.

Al2Klimov avatar Sep 25 '24 10:09 Al2Klimov