(RADIATOR) threading

Hugh Irvine hugh at open.com.au
Thu Oct 21 22:06:00 CDT 2004


Hello Andrew -

This topic comes up from time to time (see the mailing list archive).

Our standard response is that Perl does not currently support 
"production-quality" multi-threading, nor do many modules. This being 
the case we tend to recommend that people use a load-balancer (either 
hardware or one of the Radiator modules) and multiple instances of 
radiusd on multiple hosts. In addition we suggest a very simple 
approach of simply running an authentication instance and an accounting 
instance on each Radiator host.

We have talked about a pool of children and so forth, but have decided 
that the effort is too great given the simple alternatives.

Note that threading in and of itself is also not necessarily going to 
improve anything and indeed may just lead to an exhaustion of system 
resources.

In almost all cases that we have been asked to look at the fundamental 
problem has been a "slow" database backend, and fixing the backend has 
fixed all the problems.

regards

Hugh


On 22 Oct 2004, at 11:42, Andrew wrote:

>
> Hi,
>
> I'm experiencing a performance bottleneck in Radiator due to "slow"
> requests of the type that Fork is recommended for. They aren't really 
> that
> slow at about 200ms, but the bottom line is they are coming in faster 
> than
> they can be read from the socket. The 200ms is due to network latency, 
> not
> load on the Radiator host itself.
>
> I didn't expect Fork to work well, but tried it anyway. Forking on each
> and every request made that 200ms into 800ms (and wreaked havoc with 
> DBI).
> It led me to wonder though if Radiator could support a predefined pool 
> of
> children. If I had a way of running two Radiator processes receiving
> requests to a shared IP/port (I don't have a load balancer available),
> then my problem would be solved. It would also scale quite well, I'm 
> sure
> I could run 10 without load issues, providing they are preforked. Is 
> this
> practical in anyway?
>
> I'm aware the obvious solution is to remove the latent network 
> component.
> I'm also aware that another Radiator host could do the load balancing 
> for
> me. I'm really just curious as to whether Hugh and Mike have any plans 
> for
> anything like this.
>
>
> Regards,
> Andrew
>
> --
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>
>

NB: have you included a copy of your configuration file (no secrets),
together with a trace 4 debug showing what is happening?

-- 
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.

--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list