TCP/IP Performance Issues on XP vs. Windows 2003 Server - TCP-IP

This is a discussion on TCP/IP Performance Issues on XP vs. Windows 2003 Server - TCP-IP ; Hello all, I was wondering if there are any major differences in the TCP/IP stacks for Windows XP vs. 2003 Server. Let me say up front that I'm not an expert in performance tuning, however I'm trying to tune these ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: TCP/IP Performance Issues on XP vs. Windows 2003 Server

  1. TCP/IP Performance Issues on XP vs. Windows 2003 Server

    Hello all,

    I was wondering if there are any major differences in the TCP/IP stacks
    for Windows XP vs. 2003 Server. Let me say up front that I'm not an
    expert in performance tuning, however I'm trying to tune these two
    operating systems to get maximum performance out of a TCP/IP-based
    server built with Java NIO. I'm able to simulate 5000 clients
    connecting to
    the server and sending a single message every 1 minute without any
    problems on the Windows XP machine. I don't get any connection refused
    messages or abrupt connection closings from the clients connecting to
    the Windows XP machine. However, with the same scenario I get a bunch
    of "remote end has closed the connection" IOException errors on the
    client side for Windows 2003 Server:

    java.io.IOException: An existing connection was forcibly closed by the
    remote host
    at sun.nio.ch.SocketDispatcher.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(Unknown Source)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
    at sun.nio.ch.IOUtil.write(Unknown Source)
    at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
    ....

    I have set the following TCP/IP parameters in the registry on both
    machines:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\TcpTimedWaitDelay
    Value = 5

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\MaxUserPort
    Value = 60000

    Are there any special settings that I should attempt to set on Windows
    2003 Server that I would not normally have to set on Windows XP? Do
    you know of any problems with NIO performance on Windows 2003 Server
    vs. Windows XP? I would definitely expect better performance on
    Windows 2003 Server since it doesn't suffer from some of the same
    socket limitations as Windows XP (such as backlog limit, etc).

    I'd definitely appreciate any advice that you may be able to provide!

    Thanks,
    Ryan


  2. Re: TCP/IP Performance Issues on XP vs. Windows 2003 Server

    Hi,

    AFAIK know 2003 server and XP have the same TCP/IP stack.

    The only difference I can think of is that SYN attack protection is
    enabled by default on 2003 Server (SP1) and is disabled by default on
    XP (all Service Packs).

    Can you tell us what is the value of the following parameter on both
    machines ?

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\SynAttackProtect

    Perhaps the way you are stress testing makes the server believe it is
    under a SYN attack ?

    Regards,
    Vivek Rajan


    > I have set the following TCP/IP parameters in the registry on both
    > machines:
    >
    > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\TcpTimedWaitDelay
    > Value = 5
    >
    > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\MaxUserPort
    > Value = 60000



  3. Re: TCP/IP Performance Issues on XP vs. Windows 2003 Server

    Hello Vivek,

    Thank you for responding. I just checked for the presence of
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\SynAttackProtect
    in the registry on the Windows 2003 Server machine, and I don't see
    the parameter specified. Would you expect it to be specified by default
    on a new Windows 2003 Server installation? Should I try explicitly
    setting this value and running the test over again?

    Thanks,
    Ryan


  4. Re: TCP/IP Performance Issues on XP vs. Windows 2003 Server

    Hi Vivek,

    I went ahead and set the
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\SynAttackProtect
    parameter to "0" (DWORD) in the registry. I ran my test again, however
    I'm still seeing the "java.io.IOException: An existing connection was
    forcibly closed by the
    remote host" errors on the client side, however I still don't see these
    exceptions when I run the server on Windows XP Service Pack 2. Do you
    have any other ideas or know of something else that I could try? I'd
    love to get the same results on Windows 2003 Server...

    Thanks,
    Ryan


  5. Re: TCP/IP Performance Issues on XP vs. Windows 2003 Server

    Hi Ryan,

    Did you shutdown and restart the server ? You need to do this.

    If that still doesnt fix the problem - you might want to stick a
    protocol analyzer like Ethereal or a full stream analyzer like Unsniff
    Analyzer on the client machine to see what is going on. You can observe
    at what point your client received an RST from the server.


    Regards,
    Vivek



    lecompte@gmail.com wrote:
    > Hi Vivek,
    >
    > I went ahead and set the
    > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\SynAttackProtect
    > parameter to "0" (DWORD) in the registry. I ran my test again, however
    > I'm still seeing the "java.io.IOException: An existing connection was
    > forcibly closed by the
    > remote host" errors on the client side, however I still don't see these
    > exceptions when I run the server on Windows XP Service Pack 2. Do you
    > have any other ideas or know of something else that I could try? I'd
    > love to get the same results on Windows 2003 Server...
    >
    > Thanks,
    > Ryan



+ Reply to Thread