TCP performance problems with small data segments



'm trying to debug performance problems in a Win32 application that
uses a proprietary SOAP over HTTP stack. The specific problem is that
the HTTP responses sent back from the server end up waiting for ACKs
from the client, if the total size of the responses happens to be <
the MTU (which I think is 1496 bytes). For example, the following
transaction is problematic:

1. Response #1: 200 bytes (HTTP header written using a write to the
socket)
2. Delayed ACK from client of around 170ms
3. Resonse #2: 900 bytes (SOAP body + envelope written out as another
write call) -- this one seems clearly Nagled.

However if the total size of the responses exceeds the MTU, things are
just fine.

So I tried using commonly used tricks like disabling Nagle (using
setsockopt TCP_NODELAY, tweaking SO_SNDBUF, as documented at
http://support.microsoft.com/kb/214397, with absolutely no luck!

Can anyone tell what's up ?

The only unconventional thing that this app does is that it uses
sockets with overlapped IO -- I wonder if it is interacting with
TCP_NODELAY in some strange way..

On the other hand, the app's client uses the .NET ServicePoint API to
very effectively disable Nagle, so clearly the ServicePoint
implementors got it right..

-- amit

.



Relevant Pages

  • Re: IE 6 connecting to IIS 6.0 using NTLM and not Kerberos
    ... way, all responses to all groups, will be visible everywhere. ... The client keeps negotiateing to NTLM. ... : ServerName: TESTWEB1 ... Do I need to set the Trusted Delegation on the computer account ...
    (microsoft.public.inetserver.iis.security)
  • Re: Outgoing IPSEC
    ... Thank you everyone for your responses. ... > connection to the endpoint. ... Once the client connects ... > it creates a connection that your firewall ...
    (Security-Basics)
  • Re: Search webbot in an Apache server
    ... I feel the same about having to get responses from other sites, so I rarely use 3rd Party Services ... FrontPage Resources, WebCircle, MS KB Quick Links, etc. ... > There are many times when I use web sites built by others that I would ... >> When I build web applications, I don't count on the client be able to do ...
    (microsoft.public.frontpage.client)
  • Re: Commercial file-server software
    ... I go to sleep for a night and I get a bunch of responses. ... Unfortunately it seems as if my fears are realized that there ... company and if used, Samba will be included, incorporated and used. ... Convincing the client is impossible. ...
    (comp.os.linux.networking)
  • Re: New Clients not adding
    ... There isn't by chance a Novell server in this mix is there?? ... Please DO NOT respond to me directly but post all responses here in the newsgroup so that all can share the information ... Can I get to the client apps on the server manually or do I need to load them on the clients directly? ...
    (microsoft.public.backoffice.smallbiz)