Hi, I use freeradius (1.1.7) to authenticate wireless users (EAP-TTLS/PAP) with an OpenLDAP backend. 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). 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:21 2007 : Auth: Login OK: [xxxx] (from client localhost port 576353 cli 001c.bf09.480c) Wed Nov 21 15:33:21 2007 : Auth: Login OK: [xxxx@u-strasbg.fr] (from client wds3 port 576353 cli 001c.bf09.480c) Wed Nov 21 15:33:22 2007 : Error: WARNING: Unresponsive child (id 3046112160) for request 2419782 (in component accounting module rlm_radutmp) Wed Nov 21 15:33:22 2007 : Error: WARNING: Unresponsive child (id 2841623456) for request 2419798 (in component accounting module rlm_radutmp) The CPU went up to 100%. There was about 300 802.1X clients connected (with a 2 minutes reauth period). 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. Here's the threading part of the radiusd.conf : max_request_time = 30 delete_blocked_requests = no cleanup_delay = 5 max_requests = 1000 thread pool { start_servers = 10 max_servers = 1000 min_spare_servers = 15 max_spare_servers = 30 max_requests_per_server = 300 } I don't know if it's relevant but there were about 80 Eduroam users connected when the problem happens. Thanks. -- --------------------------- Christophe Saillard Centre Réseau Communication Université Louis Pasteur --------------------------- Tél : 03 90 24 03 17 Fax : 03 90 24 03 12 ---------------------------
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.
participants (2)
-
Alan DeKok -
Christophe Saillard