Re: TcpClient buffer size limit?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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


.



Relevant Pages

  • Re: Hive-based registry setting
    ... >; END HIVE BOOT SECTION ... > HD may contain system registry; ... >>> later in the file can overwrite settings from earlier in the file. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Sharing folders in Windows CE 5.0
    ... You can do this by creating the necessary registry settings and adding them to your project.reg file before you create your image. ... what file sharing scenario are you trying to get working? ... I would suggest you set your file server up using the RemoteAdmin ...
    (microsoft.public.windowsce.embedded)
  • Re: dvdrw disappears
    ... The UDMA settings you have to chanche under the ide controller not the cd ... As to changing the Ultra DMA Mode, as I have mentioned it appears to be ... I will have a look in the registry at some stage. ...
    (microsoft.public.windowsupdate)
  • Re: Non admin users cant do things they need to do
    ... only the administrator can. ... Could it be tht we're just missing a load of registry settings for our ... can set the time then they can fake out system event logs by changing ...
    (microsoft.public.windowsxp.embedded)
  • Re: Reading GUID from registry
    ... buffer for the string without space for the NULL. ... Don Burn (MVP, Windows DDK) ... Now I am setting this value in Registry. ...
    (microsoft.public.development.device.drivers)