On 12.07.2013 18:10, Alan DeKok wrote:
Eugene Grosbein wrote:
Forgot to mention that operating system's open files limit for freeradius is over 11000. And file descriptors are numbered starting from zero, so descriptor 1024 is really 1025th.
radiusd works fine until it has descriptors 0-1023 only and breaks with creation of descriptor 1024: it stops calling perl routing post_auth and thus, processing of DHCP requests ceases.
The server has no limits on the number of sockets it can use. That is all enforced by the OS.
Extra sockets got opened just fine, I see that with lsof/fstat here.
Or, maybe there's an issue with Perl.
2.1.12 has not this issue with same Perl.
I would also check why you need 1000 threads. That's a lot. Maybe it's that your Perl script is slow. Or, your database is slow.
Yes, that's a lot. That reflects high load we may have. We do not want to queue requests that may be processed in parallel.
I'd also suggest skipping syslog in Perl. The server has a "linelog" module, which can do logging to syslog. Just put the log messages into an attribute, and let the linelog module handle it.
We use syslogd's facility to send logs to remote log collectors using traditional syslog protocol (udp/514). Can "linelog" module do that? Eugene Grosbein