Re: TcpClient buffer size limit?
- From: "Willy Denoyette [MVP]" <willy.denoyette@xxxxxxxxxx>
- Date: Wed, 6 Apr 2005 09:53:41 +0200
See inline ***
Willy.
"Sharon" <Sharon@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:D6A86EB7-1CF6-4C28-BCA9-2472B5C4260A@xxxxxxxxxxxxxxxx
> Hello again Willy,
>
> Thanks for the info.
>
> To finalize this issue:
> I do not need the asynchronous pattern because the send and receive are
> done
> in a dedicated thread and it's more simple to use.
> P.S. : The computers that will run my application will use a dedicated
> GLAN,
> meaning; the GLAN will contain only my application PC's.
>
> BUT, I very much care about the speed.
> You referred to RFC 1323, so I read it and now I wish to know the
> following:
> (1) Does the Windows XP support the window scaling and time stamps by
> default, or should I set the registry with
> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts
> = 3 (DWORD) ???
***Yes, XP supports this. but this option is only meant to be used on high
speed high latency networks (Satelite, some ATM and Cable networks). When
used on a LAN, the transfer rate can be a little lower because of the
slightly higher payload when using the timestamps.
> (2) Are there any other registry setting that I can set to make the TCP
> data
> transfer faster?
*** Faster than what? Did you run any benchmarks yet? Like I told you
before, you should be able to achieve a 95-99% aggregate throughput without
changing anything to the defaults and by using an application buffer size of
16Kb - 64Kb , if you don't achieve this, you must have a problem elsewere ad
this must be solved before you start changing whatever registry parameter or
socket option or buffer size. Take care of your adapter settings, pay
attention to the speed settings, select Full Duplex, sometimes Auto speed
detect doesn't select the optimum speed, and please MEASURE before you
change anything. And , don't assume that a larger data buffer than 64 Kb at
the application level will help you to increase the speed.
> (3) What socket parameters should I set to make it run faster ( like using
> the Socket.SetSocketOption(...) ) ???
>
*** Again faster than what? The only socket options that have some influence
on a LAN are the SO_SNDBUF and SO_RECVBUF, the defaults are 8KB for both.
You can set these up to 64Kb (on both ends!!) and measure the rate change.
Any value larger than this won't probably be honoured. Using a network
monitor you can inspect the frames and packet window sizes ( level 2 and 3)
More info about registry TCP/IP parameters:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/networking/tcpip03.mspx#ECAA
> I'll very much appreciate as much details as you can in your reply.
>
> Any other info that you think I should know will be more then welcome.
>
> ------------
> Thanks & Regards
> Sharon
.
- Follow-Ups:
- Re: TcpClient buffer size limit?
- From: Sharon
- Re: TcpClient buffer size limit?
- References:
- Re: TcpClient buffer size limit?
- From: Willy Denoyette [MVP]
- Re: TcpClient buffer size limit?
- From: Ignacio Machin \( .NET/ C# MVP \)
- Re: TcpClient buffer size limit?
- From: Willy Denoyette [MVP]
- Re: TcpClient buffer size limit?
- From: Sharon
- Re: TcpClient buffer size limit?
- From: Willy Denoyette [MVP]
- Re: TcpClient buffer size limit?
- From: Sharon
- Re: TcpClient buffer size limit?
- From: Willy Denoyette [MVP]
- Re: TcpClient buffer size limit?
- From: Sharon
- Re: TcpClient buffer size limit?
- Prev by Date: Re: AfterSelect event error
- Next by Date: Re: COM Variants?
- Previous by thread: Re: TcpClient buffer size limit?
- Next by thread: Re: TcpClient buffer size limit?
- Index(es):
Relevant Pages
|