Re: Windows 2003SP2 Socket Sends are much slower than Windows XP on my



On Apr 2, 3:01 am, Kesney <Kes...@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
I have a client/server C# 2.0 winforms app that simply through a loop reads a
file from disk and send the bytes through the socket. If the buffer size
written to the socket is 64k I get max performance independently of the OS.
If I start to reduce the buffer size down to 1k the performance on WinXP
remains invariable, but on Win2003 SP2 gradually slows down on a factor of 6
times slower.

+ Why is Win2003 SP2 sensitive to the buffersize while XP is not?

After evaluating a wireshark network trace, the packets sent from the
Win2003 looks capped at 250 packets/s and WinXP doesn't present the flat line
seen on Win2003 packets but has peeks of 2000 packets/s. This transfer is
going over the WAN and we already tested with Win2003 on point A and point B
and WinXP on point A and point B. If this is an environmental issue the
direction doesn't change in despite of where we send the data from
(geographically) The only changes that we see is if we send the data from
WinXP vs Win2003. The results are consistent on over 15 WinXP and 7 Win2003
machines that we've tested with.

It looks like something is telling Win2003 not to put the data on the wire
as quick as it could, but as soon as I increase the buffer size to match the
windows size of 64k, Win2003 becomes as peppy as it can be.

Any insights?

Btw, CYSCO has already looked all our routers and switches and they found no
configuration issues and no network bottlenecks. This problem is only seen
with applications that are transfering data over TCP/IP ports with buffers
below 64k.

I am encountering something similar. You can read the details in my
post titled "Half the speed migrating from Windows 2000 to Windows
2003". You have given more data points to consider. I am beginning to
think that Microsoft tuned W2k3 for large size transfers, but not
small request/response transactions. The only explanation I can think
of is that they have added delays to counter DDoS kind of attacks (but
that's too speculative to be of any help). Please keep us posted if
you find out more.
.



Relevant Pages

  • Re: Socket switch delay
    ... The server uses blocking sockets just because I am also using Overlapped IO ... structures to send the packets. ... The reason I am using a 0 bytes send buffer in my socket (i.e. ...
    (microsoft.public.win32.programmer.networks)
  • netstat -s output: "packets pruned" and "packets collapsed"
    ... 4087 packets pruned from receive queue because of socket buffer ... 362332 active connections openings ...
    (comp.os.linux.networking)
  • Re: Datagram Socket Speed Problem
    ... I'd say that there's not a single thing wrong with the socket. ... When the buffer is full (because you're trying to send faster than the ... network bandwidth will allow), it tosses the packets. ... > The receiver program start receiving packets... ...
    (microsoft.public.dotnet.framework.compactframework)
  • Windows 2003SP2 Socket Sends are much slower than Windows XP on my
    ... written to the socket is 64k I get max performance independently of the OS. ... If I start to reduce the buffer size down to 1k the performance on WinXP ... After evaluating a wireshark network trace, the packets sent from the ...
    (microsoft.public.win32.programmer.networks)
  • Re: In-tree version of new FireWire drivers available
    ... Just to recap, the dual buffer receive mode, as described in section ... quadlet aligned amount of header data can be appended into one buffer ... *either* the header buffer or the payload buffer fills up. ... enough to hold headers for all the packets it takes to fill up the ...
    (Linux-Kernel)