Weird issue - threads bottleneck in post-proxy section
loic.restoux at capgemini.com
Mon Mar 2 14:34:14 CET 2015
Le 27/02/2015 14:35, Alan DeKok a écrit :
> Some modules cannot be multi-threaded. The server implements mutexes
> to be sure that the modules are used only by one thread. If that
> module is used, *and* it takes a long time to do it’s work, then all
> threads will block on that module.
We agree. But reading the source code, rlm_rest is multi-thread
compliant (RLM_TYPE_THREAD_SAFE). So we're assuming that there is no
mutex for the rest module.
> And the rest module doesn’t behave any differently in post-proxy.
The weird thing is that if we move the use of rlm_rest in another
section like pre-proxy, there is no blocking issue any more.
> What other modules are you running in post-proxy?
At that time, this is the only one, precisely in order to analyse the
Let's see some facts:
- We have a remote radius server that always answer immediately with an
- We have a REST server that delivers a JSON response in around 100 ms.
- Our freeradius is configured to proxy requests to the remote radius
server and to call the REST server before or after the request to the
remote radius server.
We used radperf for benchmark (-p 500). The results:
- No REST request at all => freeradius handles 3800 requests per sec
- if the REST server is called in pre-proxy => 1100 r/s. All the threads
of the pool are active.
- if the REST server is called in post-proxy => between 70and 150 r/s
with a lot of variation between our tests. Less than half of available
threads are active.
Thank you for your help,
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
More information about the Freeradius-Users