[4.0.x] radiusd process CPU spikes at 400% when trying to do DHCP concurrently
aland at deployingradius.com
Fri Dec 20 17:43:25 CET 2019
On Dec 20, 2019, at 11:36 AM, Chaigneau, Nicolas <nicolas.chaigneau at capgemini.com> wrote:
> I confirm the issue is fixed.
There's one more minor issue with debugging mode (-X) that needs to be fixed. But I understand exactly what's going on there, and how to fix it.
> And it's even better now than before the issue occured.
> On the same load test, radiusd CPU usage is 230% (as compared to 310% before) for the same throughput.
Good to hear!
> I see you're doing performance optimizations. Keep up the good work! 😊
Yeah. I've been using "Instruments" on OSX to look at CPU usage. It's very good. I've been running simple performance tests (unlang just does ACK and nothing else).
The result is that I've gotten the "front end" packet processing down by 50%. Basic overhead has gone from 650us per packet to almost 250us. And jitter is way down, too.
We have some plans to improve performance for packets which don't need de-duping. If the OS supports receive side scaling or receive packet steering, then we can eliminate even more overhead. And have the worker threads just respond to packets directly. That should get us another bump in performance.
More information about the Freeradius-Devel