Thanks for the link. I have dusted off my old test code and checked it into CVS under samples/stringarray. The code itself is nothing out of the ordinary. It was my intention to use this code to test the affect of tcpNoDelay, outputBufferSize and XML DocumentBuilder v. Transform. To my great surprise, I am seeing *no* difference in performance related to different settings for tcpNoDelay and outputBufferSize. I have following this up by using tcpdump to capture network traffic, and I am seeing no Nagle-related delays, apparently because the server is not doing a 200 ms delayed ACK.
I started testing with the following configuration: * SOAP always built from current sources * 100 Mbps switched network Client 1 -------- Windows 2000 SP1 AMD K6-III 450 MHz 256 MB PC100 SDRAM Sun JVM 1.3.1-b24 Server 1 -------- Red Hat 7.3 AMD Athlon 1.2 GHz 256 MB PC2100 DDR IBM JVM 1.3.1 classic Tomcat 4.0.3 I repeated the tests with the following client #2 to server #1, then client #2 to server #2 Client 2 -------- Windows 98 SE w/DUN 1.4 Intel Celeron 366 MHz 192 MB SODIMM Sun JVM 1.3.1-b24 Server 2 -------- Windows NT 4 SP 6 AMD K6-III 450 MHz 256 MB PC100 SDRAM Sun JVM 1.2.2_006 symcjit Tomcat 4.0.1 In all cases, client performance (average RPC roundtrip time) shows no significant difference between when Nagle is enabled and when it is disabled. I have not looked at any dumps with the NT server (no easy way for me to capture the packets on my switched network), but here is a synopsis of an RPC with Nagle enabled on the client when hitting the Linux-based server. time at server 16:59:56.283386 SYN received 16:59:56.283461 ACK sent 16:59:56.283797 ACK received 16:59:56.302040 HTTP header received 16:59:56.302072 ACK sent 16:59:56.303047 payload received 16:59:56.303099 ACK sent 16:59:56.305286 HTTP header sent 16:59:56.305312 payload sent 16:59:56.305571 FIN sent 16:59:56.306480 ACK received 16:59:56.330867 FIN received 16:59:56.330892 ACK sent As you can see, there is no delayed ACK on the server (unless 32 microseconds counts as a delay), so the payload is received about 1 ms after the HTTP header. I will continue testing and analyzing other configurations, but I wanted to let other know the behavior I am seeing. If anyone else can run similar tests, that would be great. Scott Nichol ----- Original Message ----- From: "WJCarpenter" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, July 26, 2002 3:33 PM Subject: Re: setTcpNoDelay; why not true by default? > There is a pretty good discussion of this stuff, specifically regarding > Apache SOAP, in the paper "Latency Performance of SOAP Implementations". > Here's the URL: <www.caip.rutgers.edu/TASSL/Papers/p2p-p2pws02-soap.pdf> > > They do a much nicer job than I can of describing the interaction of Nagle > and TCP delayed ACK. > -- > [EMAIL PROTECTED] (WJCarpenter) PGP 0x91865119 > 38 95 1B 69 C9 C6 3D 25 73 46 32 04 69 D6 ED F3 > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>