Re: > 15,000 Simultaneous Connections

Stephen C. Tweedie (sct@redhat.com)
Fri, 17 Sep 1999 15:17:38 +0100 (BST)


Hi,

On Thu, 16 Sep 1999 10:17:15 +0100 (GMT/BST), Mike Jagdis
<mike@roan.co.uk> said:

> If it is possible for events to happen faster than you can process
> them at any point then the queue length will grow. How do you size
> the queue to ensure that there is sufficient space to handle your
> largest burst?

For all events, the maximum arrival rate is also limited by the
application's processing rate: you can't get arbitrary amounts of new
data arriving, as tcp flow-control kicks in beyond a certain point. You
can't get arbitrary numbers of connecting sockets pending as the connect
backlog kicks in.

In other words there is a built in feedback loop, and even if you do end
up exhausting the queue you just fall back into a poll() loop which, for
catching up with large numbers of outstanding events, is actually the
better interface anyway (the whole point of the event model is that when
dealing with large numbers of connections, the expected behaviour is
that you only get a very few active fds at once).

--Stephen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/