Incoming our outgoing data mostly? I'm a bit confused, it is a download service so you are probably *sending* data? So? You could be a bit more helpful. Sample over 5 seconds, you won't overflow that
bert hubert wrote: On Mon, Feb 21, 2005 at 01:35:33AM +0100, Christian Schmid wrote: New connections get made without any problems. Just existing connections slow down painfully. Incoming our outgoin
O_NONBLOCK send() is really nonblocking, but O_NONBLOCK sendfile() really isn't, as it still does the disk read (if any) synchronously. How are you making sure that you're sending "pure-cache data"?
It is? So it returns EAGAIN if the data to be sent is not in the page cache? -- http://www.PowerDNS.com Open source, database driven DNS Software http://netherlabs.nl Open and Closed source services
No, it just blocks. It only returns EAGAIN if the data is in the page cache but the socket TX queue doesn't have enough space. (At least, when I last tried it.) --L
Christian Schmid wrote: bert hubert wrote: On Mon, Feb 21, 2005 at 01:35:33AM +0100, Christian Schmid wrote: Outgoing data. I am using sendfile() to send the file on a non-blocking socket but the cal
Lennert Buytenhek wrote: On Mon, Feb 21, 2005 at 11:36:14AM +0100, Christian Schmid wrote: Outgoing data. I am using sendfile() to send the file on a non-blocking socket but the call blocks for 100 m
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
Lennert Buytenhek wrote: On Mon, Feb 21, 2005 at 06:17:16PM +0100, Christian Schmid wrote: Outgoing data. I am using sendfile() to send the file on a non-blocking socket but the call blocks for 100 m
bert hubert wrote: 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 syswri
Incoming our outgoing data mostly? I'm a bit confused, it is a download service so you are probably *sending* data? So? You could be a bit more helpful. Sample over 5 seconds, you won't overflow that
Author: Christian Schmid <webmaster@xxxxxxxxxxxxxx>
Date: Mon, 21 Feb 2005 11:36:14 +0100
New connections get made without any problems. Just existing connections slow down painfully. Incoming our outgoing data mostly? Outgoing data. I am using sendfile() to send the file on a non-blockin
O_NONBLOCK send() is really nonblocking, but O_NONBLOCK sendfile() really isn't, as it still does the disk read (if any) synchronously. How are you making sure that you're sending "pure-cache data"?
It is? So it returns EAGAIN if the data to be sent is not in the page cache? -- http://www.PowerDNS.com Open source, database driven DNS Software http://netherlabs.nl Open and Closed source services
No, it just blocks. It only returns EAGAIN if the data is in the page cache but the socket TX queue doesn't have enough space. (At least, when I last tried it.) --L
On Mon, Feb 21, 2005 at 01:35:33AM +0100, Christian Schmid wrote: Outgoing data. I am using sendfile() to send the file on a non-blocking socket but the call blocks for 100 ms per socket if I get ov
Author: Christian Schmid <webmaster@xxxxxxxxxxxxxx>
Date: Mon, 21 Feb 2005 18:17:16 +0100
Outgoing data. I am using sendfile() to send the file on a non-blocking socket but the call blocks for 100 ms per socket if I get over 3000 sockets. Thats causing the massive slowdown in sum. I first
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