How does freeradius calculate the number of required threads?

Pshem Kowalczyk pshem.k at gmail.com
Sat Oct 28 02:24:27 CEST 2006


Hi group,

I'm trying to figure out optimal configuration for our radius-proxy
farm. atm the farm is handling about 10-15 req/sec per device with the
following config (two servers, load-balanced using an slb)

thread pool {
        start_servers = 20
        max_servers = 120
        min_spare_servers = 20
        max_spare_servers = 70
        max_requests_per_server = 300
}

        perl {

{...}
                max_clones = 100
                start_clones = 20
                min_spare_clones = 20
                max_spare_clones = 50
                cleanup_delay = 5
                max_request_per_clone = 100

        }

With this configuration both servers run between 25 and 35 threads.
Everything is fine (except for huge memory consumption), but when i
try to point another device to the load balanced ip (device creates
about 15-20req/sec (auth+acct)) freeradius starts spawning threads
untill it hits the limit (both freeradius and rlm_perl) and then it
locks. I suppose the problems are caused by the fact that the number
of requests increases so suddenly, but I have no other way of
switching the device over. Is there any way I can influence that
behaviour? I suspect that about 50-60 threads would do the job, but if
i drop the limit  to 60 it just locks quicker.
Any ideas how to fix that?

regards
pshemko



More information about the Freeradius-Users mailing list