Max listening ports

Arran Cudbard-Bell a.cudbardb at freeradius.org
Wed Nov 12 23:26:17 CET 2014


> On 9 Nov 2014, at 20:50, Michael Richardson <mcr at sandelman.ca> wrote:
> 
> 
> Alan DeKok <aland at deployingradius.com> wrote:
>>> I'd like to run a FR with more than 256 virtual servers/listening
>>> ports.
> 
>>  Why?  That's a bit unusual.
> 
> Yeah, why not just run more than once instance?
> I think that would also spread the load across more cores, and reduce memory
> contention if your machine is has any NUMA-like properties (many machines with
> more than one CPU socket tends to have penalties for accessing memory not
> directly attached to that CPU).

Possibly, but you would have to force the processor affinity of each radiusd
process so that all the worker threads ran on cores in the same zone as the 
master thread.
From what i've observed the Linux kernel isn't smart enough to do this on its 
own, else the default weighting that control process affinity don't usually 
result in it happening without manual intervention.

The larger performance increase in this case would come from parallelising 
socket reads and packet validation, which is currently only done by a single 
'master' thread.

Anyway, the kqueue stuff Alan just pushed should help with the inefficiencies
of selecting over large numbers of FDs, just need to switch to OSX or *BSD :)

Arran Cudbard-Bell <a.cudbardb at freeradius.org>
FreeRADIUS development team

FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2



More information about the Freeradius-Devel mailing list