Вы находитесь на странице: 1из 2

Last Updated: 12/12/2002

Version: 1.0.0

CALCULATIONS AND FORMULAS

This text file is part of Windows 2000/XP/2003 High Performance TCP/IP Package
(HPTP) [13 KB, free GPL]:
http://www.mdgx.com/files/HPTP.ZIP
HPTP consists of 4 text files:
- HPTPREAD.TXT: ReadMe = MUST read first!
- CALCULAT.TXT: Calculations + formulas for TCP/IP registry settings. (this
file)
- HPTCPIP.TXT: TCP/IP performance, security documentation + how-tos.
- NONREG.TXT: Non-registry Internet + online gaming performance procedures.
______________________________________________________________________________

Unlike several of registry settings documented in this package, the registry


values referred to here are *extremely* sensitive to your particular
connection, and might be entirely unique to you. There is no "one size fits
all" value or set of values, and you must calculate them mathemetically on
your own, to match your particular hardware configuration and your needs.
* DefaultSendWindow
* DefaultReceiveWindow
* TcpWindowSize
* GlobalMaxTcpWindowSize = same as TcpWindowSize for max performance.

* DefaultSendWindow + DefaultReceiveWindow:
Both Send and Receive Windows use the same formula, as follows. The only
difference between them is that for Receive you start with your max download
cap and for Send, you start with your max upload cap (in my case 3000 kbps/256
kbps).
Formula:
[DLCapInKiloBITS]/8 = [DLCapInKiloBYTES]
[DLCapInKiloBytes]*1024 = [DefaultSend or DefaultReceiveWindow]
Example:
3000kbps/8 = 375
375*1024 = 384000
DefaultReceiveWindow

* TcpWindowSize + GlobalMaxTcpWindowSize:
Both these settings should be the same value for max performance, so you only
need to do 1 calculation here for both these registry settings. Before you can
calculate the value for these settings, do a ping on several different web
sites (I suggest at least 10) and take the mean (average) latency.
In my case the mean latency is about 100 ms for most web sites in the USA.
Then use the following formula. For cable the Maximum Segment Size (MSS) is
1460. This is true for cable and DSL connections, but might not be for other
media such as fiber optics, WiFi etc.
Formula:
([DLCap]*[MeanLatency])/8 = A
A/1460= B
B -> rounding -> B*1460 = C
C = Base TCPWindowSize
OPTIONAL: Base TcpWindowSize*[scalar]
Example:
(3000kbps*100ms)/8 = 37500
37500/1460 = 25.685 -> rounded to next even integer -> 26
26*1460 = 37960
37960*2 = 75920
TcpWindowSize = 75960

NOTES:
1. Be sure to round your GlobalMax(TcpWindowSize) settings to an even integer!
2. To start out with I recommend trying the base TcpWindowSize value first,
and then raising it by 1 whole number scalar at a time until you get the
optimum value for your connection. For me, a scalar of two (37960*2=75920)
seemed to be the best, but it might not be the case for all connections. The
bottom line is, start with the base, and then go up from there until you
discover what works best for you.
______________________________________________________________________________
� 2002 Andrew D. Bourdon - GNU General Public License (GPL):
http://www.gnu.org/licenses/gpl.txt