FreeRADIUS can't make progress under certain load

rihad rihad at mail.ru
Sun Sep 11 09:01:09 CEST 2011


On 09/11/2011 11:11 AM, rihad wrote:
> On 09/10/2011 11:23 PM, Arran Cudbard-Bell wrote:
>>> I'm not blaming anyone. Thanks for the great software and for 
>>> sharing it with us. The great thing about open source is that I can 
>>> tweak it to my needs. I'm not saying this is the best way to get rid 
>>> of the problem. But it may be the easiest and the quickest.
>>> -
>> It's a really bad way to fix the problem. You're just masking the 
>> underlying issue doing this.
>>
>> You need to figure out why your backend authentication system is 
>> taking more than 5 seconds to complete a request. Its that simple.
>>
>> I'm suggesting lowering the max thread count to reduce the number of 
>> requests running in parallel to take load of your backend system, so 
>> it starts responding before the NAS retransmits the packet.
>>
>> Likely there's much more that could be done to deal with high volumes 
>> of requests, but we would need to know what modules you're using with 
>> the server, and so far you've ignored all requests for this information.
> We're using preprocess, rlm_perl (for AAA), acct_unique, detail, 
> attr_filter.accounting_response.
>> If you just want to throw new requests away once the number queued 
>> gets stupidly large, use the undocumented parameter 'max_queue_size' 
>> in the threadpool stanza.
>>
>> One the server has X number of pending requests, it'll start throwing 
>> new ones away, relying on the NAS' retransmit behaviour to eventually 
>> get the request processed.
> Great. First I thought of tweaking max_clients to the point where it 
> never triggerred under "normal" load, but started dropping new request 
> (and logging the fact) whenever the box couldn't cope with the current 
> load. max_queue_size may turn out to be just as useful.

s/max_clients/max_requests/

I just dropped max_requests to a mere 512. That's around 50 requests per 
second given cleanup_delay=10. Enough for the normal load as it is now. 
I'll see how it goes.



More information about the Freeradius-Devel mailing list