Editing the Windows 2000/XP Registry
To edit the Registry, you need to use an editor, such as Regedit. As
with previous Windows versions, it can be accessed from the Start Menu (
START > Run > type “Regedit” ). Note that most of the values
recommended on these pages are not present in the Registry by default
and you might have to add them manually. Also, for most of the tweaks to
take effect you must Reboot.
It is strongly recommended that you backup your Registry before
editing. The easiest way to backup your Registry is from within the
Registry Editor, just choose “Export Registry File” from the pull-down
menu.
Recommended settings for Windows 2000 / XP
Windows 2000 & XP, unlike NT supports large windows as described
in RFC1323 ( the ‘RcvWindow’ has a maximum value of 2**30 rather than
64K), and includes some other improvements over its predecessors you can
use to speed up any TCP/IP transfers. The best settings are listed in
red, the descriptions and other options are added to provide you with
better understanding and enable you to customize your settings.
All the following entries, unless otherwise noted should be placed in the Windows 2000/XP Registry under the key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TCPWindowSize
The value of the TCP Window in the Windows 2k/XP Registry is probably
the single most importan setting that will offer the most benefit to
improving your internet connection. The recommended value (in red) will
optimize TCP for any high speed broadband internet connection. It will
work well for most cases, however, if you’d like to use a custom value
make sure to follow these guidelines: For best results, the TCPWindow
should be a multiple of MSS (Maximum Segment Size). MSS is generally MTU
– 40 (20 byte TCP and 20 byte IP headers), where MTU (Maximum
Transmission Unit) is the largest packet size that can be transmitted.
MTU is usually 1500 bytes (1492 for PPPoE connections). To determine the
exact MTU value of your ISP, check out the Advanced Registry Editing
section of our site or use the TCP Optimizer.
There are three places in the Windows Registry where you can add the TCP Window parameter.
HKLM/SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
GlobalMaxTcpWindowSize=”256960 or 65535″ (DWORD, number of bytes) Valid
range is from MSS to 2^30. Add the value as a decimal. Note: For best
results RWIN has to be a multiple of MSS lower than 65535 times a scale
factor that’s a power of 2, i.e. 44 x 1460 = 64240 x 2^2 = 256960. If
you choose to use a RWIN lower than 65535, you can simply make it
multiple of MSS and turn scaling off (Tcp1323Opts=0)
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TcpWindowSize=”256960 or 65392″ (DWORD, number of bytes) Valid range is from MSS to 2^30. Add the value as a decimal.
Note (10/20/00): Seems MS has found another bug in Windows 2000, the
TCPWindowSize should be configured with the global setting
(GlobalMaxTcpWindowsSize) rather than this one – Q263088
TcpWindowSize can also exist under TcpipParametersInterface – if
added at this location, it overrides the global setting for this
particular NIC.
Note: For best results RWIN has to be a multiple of MSS lower than
65535 times a scale factor that’s a power of 2, i.e. 44 x 1460 = 64240 x
2^2 = 256960. If you choose to use a RWIN lower than 65535, you can
simply make it multiple of MSS and turn scaling off (Tcp1323Opts=0).
Tcp1323Opts
Tcp1323Opts is a necessary setting in order to enable Large TCP
Window support as described in RFC 1323. Without this parameter, the TCP
Window is limited to 64K.
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Tcp1323Opts=”1″ (DWORD, recommended setting is 1. The possible settings
are 0 – Disable RFC 1323 options, 1 – Window scaling but no Timestamp
options, 3 – Window scaling and Time stamp options.)
Note: Tcp1323Opts=”3″ might help in some cases where there is
increased packet loss, however generally you’ll achieve better
throughput with Tcp1323Opts=”1″, since Timestamps add 12 bytes to the
header of each packet.
DefaultTTL
DefaultTTL determines the time in seconds and the number of hops a
packet lives (every hop reduces it by at least 1). While it does not
directly affect speed, a larger value increases the amount of time it
takes for a packet to be considered lost, discarded and retransmitted. A
value that’s too small can cause packets to be unable to reach distant
servers at all.
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DefaultTTL=”64 or 128″ (DWORD, recommended setting is 64. Other settings that are widely used are 128 and 32)
EnablePMTUDiscovery
When set to 1 (True), TCP attempts to discover MTU automatically over
the path to a remote host. Setting this parameter to 0 causes MTU to
default to 576 which reduces overall performance over high speed
connections. Note: setting is different than our Windows 9x
recommendation
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnablePMTUDiscovery=”1″ (DWORD – boolean, valid settings are 0–>False
and 1–>True. Many connections perform better with this entry at 1,
however, if you prefer to set your upstream to send fixed 1500 packets,
you might want to use 0 instead). When set at 1, establishing
connections and initial transfer speed might slow down a bit, however
you will get better throughput if somewhere in the path large packets
need to be fragmented.
EnablePMTUBHDetect
Setting this parameter to 1 (True) enables “black hole” routers to be
detected, however it also increases the maximum number of
retransmissions for a given segment. In most cases you’d want to keep
BHDetect at 0 (False).
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnablePMTUBHDetect=”0″ (DWORD – boolean, valid settings are 0 = False and 1 = True. Recommended setting is 0)
SackOpts
This parameter controls whether or not SACK (Selective
Acknowledgement) support is enabled, as specified in RFC 2018. SACK is
especially important for connections using large TCP Window sizes.
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SackOpts=”1″ (DWORD – boolean, recommended setting is 1. Possible settings are 0 = No Sack options, or 1 = Sack Option enabled).
TcpMaxDupAcks
This parameter determines the number of duplicate ACKs that must be
received for the same sequence number of sent data before “fast
retransmit” is triggered to resend the segment that has been dropped in
transit.
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TcpMaxDupAcks=”2″ (DWORD – range 1-3, recommended setting is 2).
Additional TCP/IP Related Parameters
The additional TCP related parameters are not necessary in most
cases, and you shouldn’t expect any drastic improvements, however we
added them for those of you who like experimenting. You might be able to
gain that last bit of performance, or customize your TCP/IP behavior
even more with those. Keep in mind you should familiarize yourself with
what the parameters mean and how they affect your connection before
changing their values
MTU
Setting MTU overrides the default MTU for the network interface it is
added to. Note that if EnablePMTUDiscovery is set to 1, TCP will use the
smaller value of this local MTU and the “Discovered” MTU of the
underlying network connection. If you’d rather use only the MTU value
specified here, you’d have to disable PMTUDiscovery, which would prevent
your system from detecting the network MTU.
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
MTU=”1500″ (DWORD, valid range is from 68 to MTU of network).
Note: For Windows XP PPPoE, there is an additional location for MTU
that might need to be adjusted (to 1480, or up to 1492 as per the PPPoE
specs), depending on the PPPoE software you use. Check the following
location in the Registry:
HKLM\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters\Protocols
ProtocolMTU=”1492″
AFD Parameters
Afd.sys is the kernel-mode driver used to support Windows Sockets applications.
DefaultReceiveWindow
The number of receive bytes that AFD buffers on a connection before
imposing flow control. For some applications, a larger value here may
give a sligtly better performance at the expense of increased resource
utilization. Applications can modify this value on a per-socket basis.
Registry Location:
HKLM\SYSTEM\CurrentControlSet\Services\Afd\Parameters
DefaultReceiveWindow (DWORD, not present by default. Recommended: leave
blank as is, since this value limits the TCP/IP TcpWindowSize RWIN
value)
DefaultSendWindow
Same as the above setting for the send side of connections.
Registry Location:
HKLM\SYSTEM\CurrentControlSet\Services\Afd\Parameters
DefaultSendWindow (DWORD, not present by default. Recommended: leave
blank as is. Alternatively, you can enter a value up to the TCP/IP
TcpWindowSize RWIN setting)
Datagram Size
MS Windows supports a fast I/O path which is utilized when sending
“small” datagrams (packets). The default setting for what is considered
“small” datagram is 1024 bytes; increasing this value to match your
network MTU (normally 1500) can significantly improve network
performance.
To adjust this parameter:
HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters
FastSendDatagramThreshold=1492 (DWORD value, 1024 by default when not present, recommended: 1500 decimal)
Note: setting not in the current version of the TCP Optimizer.
FastCopyReceiveThreshold
When an application posts a receive with a buffer that is smaller than
the current packet being buffered by Winsock, AFD can either make an
additional copy of the packet and then copy data to the application
buffers directly (two-stage copy because application buffers cannot be
accessed directly under the lock), or it can lock and map application
buffers and copy data once. This value represents a compromise between
extra code execution for data copying, and extra code execution in the
I/O subsystem and memory manager.
To adjust this parameter:
HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters
FastCopyReceiveThreshold=1492 (DWORD, 1024 by default when not present, recommended: 1500 decimal)
IgnorePushBitOnReceive
Setting this parameter to 1 causes Afd.sys to treat all incoming packets
as though the push bit was set. We recommend leaving this at the
default of 0 (disabled).
Registry Location:
HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters
IgnorePushBitOnReceive (DWORD boolean, 0 by default when not present, recommended: don’t set)
References: Technet
Web Patch
According to the HTTP specs, only limited number of simultaneous
connections are allowed, while loading pages. To increase that number in
Internet Explorer, you can add the following entries to the Registry
(they are not present by default). For Firefox, refer to our browser
tweaks article.
HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings
“MaxConnectionsPerServer”=dword:00000010 or 4
“MaxConnectionsPer1_0Server”=dword:00000010 or 8
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
“MaxConnectionsPerServer”=dword:00000010 or 4
“MaxConnectionsPer1_0Server”=dword:00000010 or 8
Notes: Keep in mind that increasing those values exceeds the HTTP
specs. Increasing them much over 10 may cause problems with some
websites. While these entries might improve web page loading
considerably, they tend to strain webservers more and have no effect on
throughput.
Alternatively, you can download a patch (sguide_webtweak_2k) that
will add these entries for you automatically from the Downloads section
of our site.
Jumat, 31 Desember 2010
Internet Tweak Versi SpeedGuide.net
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar