netdev
[Top] [All Lists]

Re: many outgoing tcp sockets are slower than a few

To: Christian Schmid <webmaster@xxxxxxxxxxxxxx>
Subject: Re: many outgoing tcp sockets are slower than a few
From: bert hubert <ahu@xxxxxxx>
Date: Mon, 21 Feb 2005 18:24:58 +0100
Cc: Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx>, Nivedita Singhvi <niv@xxxxxxxxxx>, netdev@xxxxxxxxxxx
In-reply-to: <421A179C.1030505@xxxxxxxxxxxxxx>
Mail-followup-to: bert hubert <ahu@xxxxxxx>, Christian Schmid <webmaster@xxxxxxxxxxxxxx>, Lennert Buytenhek <buytenh@xxxxxxxxxxxxxx>, Nivedita Singhvi <niv@xxxxxxxxxx>, netdev@xxxxxxxxxxx
References: <421925DB.2060602@xxxxxxxxxxxxxx> <42192AAF.8020609@xxxxxxxxxx> <42192CD5.5090401@xxxxxxxxxxxxxx> <20050221090121.GA7478@xxxxxxxxxxxxxxx> <4219B99E.1000603@xxxxxxxxxxxxxx> <20050221120223.GA30348@xxxxxxxxxxxxxxxxx> <421A179C.1030505@xxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
On Mon, Feb 21, 2005 at 06:17:16PM +0100, Christian Schmid wrote:

> Because thats the first I excluded. I changed the program by replacing 
> sendfile with a caching-routine plus syswrite. And it was really 
> interesting that the syswrite was the one which needs most of the 
> real-time, not the caching-routine. syswrite blocked 100 ms per socket.

Do you poll/select for socket readiness before doing write() with EAGAIN?
(shouldn't matter all that much, but could narrow down debugging)

100ms is a bit of an odd number - how big is your write (in bytes)?

Do you have 3500 threads or processes, or one big one?

What does 'id' say in vmstat 1 typically, both below and above 3500 sockets?

Thanks.

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://netherlabs.nl              Open and Closed source services

<Prev in Thread] Current Thread [Next in Thread>