Liu dejun <dejun.liu@gmail.com> wrote:
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.
No. "too big" is a function of how fast the machine is, what kind of requests come in, and how many requests the machine can handle. If a machine can handle 5000 requests/second, then the queue contains only 13 seconds of request processing, so the requests won't time out. e.g. If a machine normally handles 1K requests/s, but is capable of handling 5k requests/s, then a sudden "spike" of 10k requests/s will cause the queue to fill up. So long as the spike is smaller than 10 seconds or so, there shouldn't be a problem. In that case, it could be argued that a queue of 64k requests is too small. I have some trial patches in my sandbox that expire requests from the queue if they've been there too long. This allows the server to recover from huge spikes. I have some other trial patches that create 3 queues: One for new requests, one for proxy replies from home servers, and one for ongoing EAP sessions. The queues have different levels of priority, and it's preferable to drop new requests in order to finish processing previous requests. Alan DeKok.