(RADIATOR) threading
Andrew
andrew at andies.id.au
Tue Oct 26 22:27:18 CDT 2004
It certainly would help and has been shown to. The idea being that it
becomes a method of sharing load amongst multiple single-threaded
Radiator processes.
The problem that I, and others, have with this is that it's quite
fiddly. You need to run multiple backend copies of Radiator and worry
about high availability for each of them. Each needs to be bound to a
different port and that has to match the configuration of the frontend.
Multiply this by the number of physical servers you want to run and it
soons becomes desirable to have native support.
On top of this, at least one person has found reason to switch to
Freeradius instead of Radiator for the frontend.
Another issue is that with the above method there is no way that
Radiator can be clever and spawn extra children during bursts of load.
Rather than a truly threaded verson, my preference would be for a
configurable number of pre-forked child threads, possibly for an option
to spawn more on demand (up to a maximum). This would offer huge
scalability. It seems that it would require wholesale changes to the
Radiator code though so I can understand why the developers are not keen
when there are other alternatives. The behaviour changes in Radiator
might be dramatic enough to cause backward compatibility issues with old
configurations.
Ultimately I don't see a front end process as useful because by the time
one is necessary, you're big enough to need to spread the load over
multiple machines for hardware-level redundancy and performance, which
justifies a hardware load balancer.
Andrew
Andy De Petter wrote:
> Tariq Rashid wrote:
>
>>> From: Andy De Petter [mailto:adepette at skybel.net]
>>> You would still be stuck with maximum 1 request being handled, per
>>> different instance you're running - which is unacceptable from large
>>> ISP point of view.
>>>
>>
>>
>> of course - but the proxying code can be multithreaded... i have used a
>> small minimal freeradius (threaded) to proxy requests to separate
>> radiator
>> instances on different machines. and it works well!
>>
>> tariq
>>
>>
> Threading the proxying code doesn't help, if the backends aren't
> threaded. It's not the frontends (which proxy) that is the problem,
> it's the backend. If your backend radiator instances are locked for
> one reason or the other, you may have as much threaded frontends that
> you want, it won't help you. ;)
>
> -Andy
>
--
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