Christophe Saillard wrote:
Our first experience with Freeradius on a FreeBSD server was a nightmare (it seemed to be a thread related problem, the server stopped working with a lot of "unresponsive child" error logs).
Hmm... the code *did* work well on FreeBSD at one point.
So, we tried on a Linux server (kernel 2.6.22-14-server ubuntu feisty fawn) and it worked fine since last week : ... Wed Nov 21 15:33:22 2007 : Error: WARNING: Unresponsive child (id 2841623456) for request 2419798 (in component accounting module rlm_radutmp)
That's a lot more helpful than earlier versions. My guess is that the radumtp file is *huge*. If you don't need it, it should not be used. If you do need it, it should be rotated frequently. Or, use a database to store that information.
The CPU went up to 100%.
Consistent with spending lots of time reading the radutmp file
There was about 300 802.1X clients connected (with a 2 minutes reauth period).
Any commodity machine should be able to handle that.
At this time we had no other choice than upgrading the hardware, it runs now on a 8 processor server but even with more CPU power we noticed a 20% system load.
300 clients shouldn't need that much CPU power.
Here's the threading part of the radiusd.conf : ... max_requests_per_server = 300
Please set that to zero. That portion of the code isn't very well tested. Alan DeKok.