I've implemented CPU limits for some of my workloads, even though I know it's not typically recommended. I've been tracking the CPU throttling on these and generally see it around 10% or less, but it occasionally spikes above 20%. I'm trying to understand: is throttling in the range of 10% to 20% considered too high? What levels are seen as mild or average versus high? For reference, here's the query I'm using to measure throttling: rate(container_cpu_cfs_throttled_periods_total{pod="n8n-59bcdd8497-8hkr4"}[5m]) / rate(container_cpu_cfs_periods_total{pod="n8n-59bcdd8497-8hkr4"}[5m]) * 100.
2 Answers
Generally speaking, CPU throttling is considered too high when it affects your application's performance noticeably. If you want to avoid throttling altogether, setting your CPU requests and limits to be the same can help. That way, you get Quality of Service (QoS) benefits along with disabling throttling altogether.
I doubt that’s completely accurate; QoS is primarily for scheduling. CPU requests set the CFS in Linux, and limits manage throttling, right?
It really comes down to what you're trying to accomplish. Throttling is generally a sign that resources are tight, which isn't ideal. If you're seeing regular throttling, something’s definitely off.
What’s not making sense? I just set the CPU limits and monitor throttling to adjust my workload requirements!

That's interesting! I thought QoS was just related to eviction priority. Do you have any references about how throttling fits into this?