Hi, Community!
We have a bunch of .Net Core linux servers, each running 40 HangFire workers with MongoDB as a storage. It seems that after migration from .Net 7.0 to .Net 8.0 servers started to consume lot more CPU while workers doing nothing. There is not more than 30 parallel jobs processed at a time and still each server consumes 50% CPU and usage get exponentially higher when we try to increase WorkersCount.
40 workers - 50%CPU each server
85 - 150%
160 - 600-1000% CPU.
on .Net 7
160 workers - 20%CPU per server
How can we improve the situation? What can cause idle workers eating so much CPU time? Is it possible to have dynamic workers count so HangFire start more workers when Jobs queue grow and less workers if queue is empty if idle workers is such a problem?
Regards