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

Reply via email to