freeradius3: multiple rlm_perl and thread pool

Alan Buxey alan.buxey at
Wed May 3 09:30:12 CEST 2017

If you define a new perl instance then that has its own characteristics. If
you just define a new virtual server then that inherits.

If you want, just run another radiusd process with its own config , so long
as it's listening on different ports and sockets

You really don't need 1000 threads


On 3 May 2017 7:58 am, "Eugene Grosbein" <fr at> wrote:

> Hi!
> Is it supported for freeradius3 to use two distinct rlm_perl modules inside
> single radiusd process but for different virtual servers?
> My perl installation is built with both of useithreads=define,
> usemultiplicity=define.
> In fact, I already run freeradius3/dhcp module with single server and
> rlm_perl and it works just fine:
> thread pool {
>   start_servers = 1000
>   max_servers = 1000
>   min_spare_servers = 1000
>   max_spare_servers = 1000
> }
> Each thread keeps its own persistent connection to powerful external MS
> SQL server
> and this 64bit FreeRADIUS has enough memory to run memory-hog embedded
> threaded Perl
> to be able to process hundreds of parallel DHCP requests without queueing
> delay.
> I need to add new virtual server to process plain RADIUS accounting
> requests
> (not DHCP requests) using another perl script and another rlm_perl
> instance.
> The question is: is it possible to define another thread pool for new
> virtual server
> with distinct *_servers parameters? If no, will new virtual server get a
> copy
> of its own thread pool with same parameters or FreeRADIUS uses same pool
> for all
> its virtual servers?
> Eugene Grosbein
> -
> List info/subscribe/unsubscribe? See
> list/users.html

More information about the Freeradius-Users mailing list