question about concurrent auth packet process.

Liu dejun dejun.liu at gmail.com
Thu Dec 29 09:24:53 CET 2005


if this method is ok,but the default queue size is 65536
pls check the code below in function request_enqueue() :
    if (thread_pool.queue_size >= 65536) {
            pthread_mutex_unlock(&thread_pool.mutex);

            /*
             *    Mark the request as done.
             */
            radlog(L_ERR|L_CONS, "!!! ERROR !!! The server is blocked:
discarding new request %d", request->number);
            request->finished = TRUE;
            return;
        }


The queue size is too big !! if thread's queus is full of auth packet or
acct packet , the thread is busy processing the packets,the packet will time
out by the thread clean process,so 65536 is too big for thread queue size.


2005/12/29, Frank Cusack <fcusack at fcusack.com>:
>
> On December 29, 2005 3:45:12 PM +0800 Liu dejun <dejun.liu at gmail.com>
> wrote:
> > When lots of concurrent auth packets arrived at radius server .by
> default
> > ,if radius server exceeds the max packet process thread ,it will discard
> the
> > auth packet/
> ...
> > why not just add the auth packet to the queue of the thread if the
> active
> > thread number exceed the total thread number?
>
> good point.
>
> -frank
> -
> List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/devel.html
>



--
Yesterday is a history.
Tomorrow is a mystery.
Today is a gift.
That's why we call it "the Present".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-devel/attachments/20051229/fe9b7bd5/attachment.html>


More information about the Freeradius-Devel mailing list