Bruce Bauman | 7 May 2012 17:08
Picon
Favicon

slow recovery from SIGHUP

We are running freeradius 2.1.10 in a moderately busy  environment.  We send our server a SIGHUP daily to
rotate our logfiles.

The server seems to sometimes take > 15 minutes to recover from the SIGHUP and start responding to requests
again. Our monitoring software then generates alerts because it thinks the server is dead.

I quickly perused the code and nothing obvious jumped out at me. Any suggestions as to how to "fix" this?

Thanks.

-- Bruce
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html

Alan DeKok | 7 May 2012 18:14
Favicon
Gravatar

Re: slow recovery from SIGHUP

Bruce Bauman wrote:
> We are running freeradius 2.1.10 in a moderately busy  environment.  We send our server a SIGHUP daily to
rotate our logfiles.
> 
> The server seems to sometimes take > 15 minutes to recover from the SIGHUP and start responding to requests
again. Our monitoring software then generates alerts because it thinks the server is dead.

  15 minutes?  It should take 1/10 of a second.

> I quickly perused the code and nothing obvious jumped out at me. Any suggestions as to how to "fix" this?

  These kind of issues are almost always DNS.  You have hostnames in the
config, but no corresponding entries for them in DNS.  Or, your DNS
server is down.

  So... when the server looks up a name to IP mapping, it takes 30s to
time out.  Multiple times.

  You can also use gdb to figure out what it's doing.  See doc/bugs.

  Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html

Alan Buxey | 7 May 2012 18:14
Picon
Favicon

RE: slow recovery from SIGHUP

well, one thing I would think of is some reliance on an external source...or a lookup or such thats going very wrong.

the first thing I would do is run the server in full debug mode (radiusd -X) and then do the SIGHUP on it
to see what is actually going on

alan
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html


Gmane