rlm_perl multiple processes/threads behavior

Alan DeKok aland at deployingradius.com
Tue Sep 16 22:18:27 CEST 2014

Nick Rogers wrote:
> Now I understand that rlm_perl uses the same
> freeradius thread management that everything else does. 

  Yes.  It's simpler, and doesn't have problems.

> My problem is that my freeradius rlm_perl installation no longer spawns
> multiple instances of the perl process, effectively causing my server to
> be single threaded, which has begun to cause performance issues at some
> of my larger sites with increased load.

  It's more that the module used to spawn multiple interpretors.  This
means extra overhead, etc.

> I do not have perl with multiplicity or ithreads compiled, as this
> causes issues with other perl applications running on the same server.
> My question is, is there a way to support multiple instances of the
> rlm_perl interpreter without having ithreads or multiplicity compiled
> with perl?

  One way is to build Perl libraries specifically for FreeRADIUS.

> Is there a way for freeradius to simply launch a perl process for every
> freeradius server thread, instead of all threads relying on the same
> rlm_perl process? I am not interested in using perl threads or having
> multiple perl interpreters within the same perl process. I would really
> appreciate some clarification if this is possible or not.

  I don't think it ever spawned multiple Perl *processes*.  It always
used just one.

  You may be able to convert the module back to using a separate
interpretor per thread.  I'm not familiar with Perl programming, so I
can't say more.

  Alan DeKok.

More information about the Freeradius-Users mailing list