Hello! I'm trying to find out if FreeRADIUS create separate Perl instance per each thread (thread pool {}) (2.1.8) ? The main question is: will FreeRADIUS with use of rlm_perl script be able to serve multiple requests simultaneously or each next request should wait until previous will finish? -- Alexandr Kovalenko http://uafug.org.ua/
Alexandr Kovalenko wrote:
I'm trying to find out if FreeRADIUS create separate Perl instance per each thread (thread pool {}) (2.1.8) ?
See doc/ChangeLog
The main question is: will FreeRADIUS with use of rlm_perl script be able to serve multiple requests simultaneously or each next request should wait until previous will finish?
Yes. Alan DeKok.
On Fri, Mar 5, 2010 at 9:13 AM, Alan DeKok <aland@deployingradius.com> wrote:
Alexandr Kovalenko wrote:
I'm trying to find out if FreeRADIUS create separate Perl instance per each thread (thread pool {}) (2.1.8) ?
See doc/ChangeLog
Cannot see there anything related to my question.
The main question is: will FreeRADIUS with use of rlm_perl script be able to serve multiple requests simultaneously or each next request should wait until previous will finish?
Yes.
Simultaneously? My tests show me that only one perl instance created every time, max_requests_per_server option (from thread pool {}) does not work at all - FreeRADIUS does not create new instance after 3+ requests. This is perl, v5.8.9 built for i386-freebsd-64int Characteristics of this binary (from libperl): Compile-time options: MYMALLOC PERL_MALLOC_WRAP USE_64_BIT_INT USE_FAST_STDIO USE_LARGE_FILES USE_PERLIO radiusd: FreeRADIUS Version 2.1.8, for host i386-portbld-freebsd8.0, built on Feb 3 2010 at 14:04:18 1. Should I compile perl with threads to enable multiple instances? 2. With non-threaded perl, separate perl instances created? -- Alexandr Kovalenko http://uafug.org.ua/
Alexandr Kovalenko wrote:
The main question is: will FreeRADIUS with use of rlm_perl script be able to serve multiple requests simultaneously or each next request should wait until previous will finish? Yes.
Simultaneously?
Yes. Try it.
My tests show me that only one perl instance created every time,
That is NOT what I meant. Threads are NOT instances. One Perl instance may be used for multiple threads.
max_requests_per_server option (from thread pool {}) does not work at all - FreeRADIUS does not create new instance after 3+ requests.
It NEVER creates a new instance for a new request. It MAY create a new thread.
1. Should I compile perl with threads to enable multiple instances?
How the heck to you expect to do parallel processing in one server daemon without threads?
2. With non-threaded perl, separate perl instances created?
Your questions misunderstands how the server works, and is therefore meaningless. Alan DeKok.
On Mar 5, 2010, at 4:19 PM, Alexandr Kovalenko wrote:
1. Should I compile perl with threads to enable multiple instances?
Those are two different things. To have multiple instances you should have -DMULTIPLICITY and for the threads -DUSE_ITHREADS You can check if you have this flags with perl -V
2. With non-threaded perl, separate perl instances created?
if you compile perl *without* threads but with MULTIPLICITY then you will have multiple instances of perl in freeradius but no *parallel processing* The best is to have both MULTIPLICITY and USE_ITHREADS Best Regards, Boian Jordanov R&D Expert Orbitel - Next Generation Telecom tel. +359 2 4004 723 tel. +359 2 4004 002
participants (3)
-
Alan DeKok -
Alexandr Kovalenko -
Boian Jordanov