Re: FreeRadius is 3 time quicker when running in full debug mode?( -X?option)
I all, I'm Vincent's colleague @john dennis: it's not the bug we're hitting, as the issue is visible when launching a "shell command" (via exec program wait) @Ken: It seems the scheduler granularity is 8ms on debian by default, so definitely not the issue here (100ms would be HUGE!): $ cat /proc/sys/kernel/sched_min_granularity_ns 8000000 @Alexander Clouter: it's a dual Intel(R) Pentium(R) D CPU 3.00GHz Do you believe that could cause a 100ms hit? What about rlm_python? would you recommend using it, or will it be as "slow" as the exec program wait in threaded mode? BR Mathieu
On Thu, Sep 10, 2009 at 05:34:03PM +0200, mathieu@trustive.com wrote:
I all, I'm Vincent's colleague
@john dennis: it's not the bug we're hitting, as the issue is visible when launching a "shell command" (via exec program wait)
@Ken: It seems the scheduler granularity is 8ms on debian by default, so definitely not the issue here (100ms would be HUGE!):
Okay, then that is not it.
$ cat /proc/sys/kernel/sched_min_granularity_ns 8000000
@Alexander Clouter: it's a dual Intel(R) Pentium(R) D CPU 3.00GHz Do you believe that could cause a 100ms hit?
What about rlm_python? would you recommend using it, or will it be as "slow" as the exec program wait in threaded mode?
If the rlm_python module is coded like the rlm_perl module and compiles the script once and re-runs the parsed code, it will work as well as the rlm_perl module and would be a good choice as well. I have not used it myself so I do not know any implementation details. Regards, Ken
If the rlm_python module is coded like the rlm_perl module and compiles the script once and re-runs the parsed code, it will work as well as the rlm_perl module and would be a good choice as well. I have not used it myself so I do not know any implementation details.
Regards, Ken
Well, I thought, reading from the documentation, that the perl interpreter was loaded with freeradius, in memory: "Embedded Perl interpreter" and also "Because the perl interpeter is loaded into memory including the script, it is very fast. You will not be waisting time, waiting for perl to start up and process the script like in case when you use Exec-Program-Wait with perl script." Would that be the same for python? The interpreter would be loaded by default in memory? My concern is that i believe the python interpreter (cpython) is not multi threaded (there's the GIL). So how would that behave with freeradius being multi threaded? -- Mathieu
mathieu@trustive.com wrote:
@john dennis: it's not the bug we're hitting, as the issue is visible when launching a "shell command" (via exec program wait)
That's rather astonishing.
What about rlm_python? would you recommend using it, or will it be as "slow" as the exec program wait in threaded mode?
It will *not* fork a process, so it will be very fast. Alan DeKok.
Mathieu Agopian wrote:
It is indeed what we've experienced with our tests: a simple "echo 'Auth-Type := Accept'" would take up to 100ms (more) than a "return 3" in perl or in python.
Well... I'm not sure what to say about that. Try using valgrind to profile memory usage.
that does indeed confirm the tests i've been doing this morning. It does look like the rlm_python roughly as fast as rlm_perl (takes less than a ms to answer, while the rlm_exec could take up to 100ms). I'm wondering how the "not threaded" nature of cpython will behave with freeradius being threaded though, any clues on that?
No idea, sorry. Alan DeKok.
participants (4)
-
Alan DeKok -
Kenneth Marshall -
Mathieu Agopian -
mathieu@trustive.com