Stephen Hemminger wrote:
On Wed, 15 Mar 2006 20:13:01 -0800
Skunk Worx <[EMAIL PROTECTED]> wrote:
Hello,
I've taken a performance hit over localhost between kernels 2.6.14 and
2.6.15 in my client/server application.
I'm trying to gut things down to a simple test case, in the meantime,
this is what I've been discussing with the people at the fedora test list :
This is only over localhost (lo). Two machines running client/server
2.6.15 over ether seem fine, as was 2.6.14.
2.6.14 : about one or two recv() calls out of 48,000 take nearly 40 ms.
(no big deal--might add 80 ms. to a 20 second operation).
2.6.15 : about 3,000 recv() calls out of 48,000 take nearly 40 ms. (adds
almost two minutes)
From strace :
15:27:04.568800 recv(3, "<?xml version=\"1.0\" encoding=\"UT"..., 555, )
= 555 <0.000121>
vs.
15:18:24.515891 recv(3, "<?xml version=\"1.0\" encoding=\"UT"..., 566, )
= 566 <0.038414>
Will watch replies and post more when I know more. Kinda new at this.
This came up with java debugging already. The problem is when the sender
writes a message in separate write() system calls, each one becomes
a separate packet. In 2.6.15 we do a new thing called Appropriate Byte
I thought that in the java case the problem only occurred because
TCP_NODELAY was set?
Also, even if the TCP connection stalls for the ACK, why does it take multiple
miliseconds for the ACK to come back over the localhost?
Thanks,
Ben
--
Ben Greear <[EMAIL PROTECTED]>
Candela Technologies Inc http://www.candelatech.com
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html