Shortcuts
|
Windows 7, Vista, 2008 TweaksTweaking Windows 7 / Vista TCP/IP settings for broadband internet connections2008-04-24 (updated: 2016-09-05) by Philip Tags: patch, Nagle, QoS, SynAttackProtect, DNS, DefaultTTL, NetDMA, TCP 1323 Options, MTU, auto-tuning, Compound TCP, Chimney Offload, CTCP, TCP Window, Registry, TCP/IP, tweak, Vista, Windows 7 Windows Vista introduces a number of new features to the TCP/IP stack, including CTCP, and TCP Window Auto-Tuning. This new implementation works much better by default than previous Windows versions with broadband internet connections, and is able to adjust the RWIN value on the fly, depending on the BDP (bandwidth-delay product). This, however, introduces some problems with older routers and restricts the user from tweaking some of the TCP/IP parameters. Still, there is always some room for improvement, and this article explains the known tweakable TCP/IP parameters. To enter some of the commands below, you will need to run "elevated" command prompt. To do so, click the Start icon > Run > type: cmd , then click CTRL+SHIFT+ENTER. Alternatively, you can navigate to Start > All Programs > Accessories > right-click Command Prompt and choose "Run as Administrator". Check the TCP/IP stateTo check the current status of the Vista TCP/IP tweakable parameters, in elevated command prompt type the following command:
You will be presented with something like the following: The settings, as well as their default and recommended state are explained below. The two most important tweakable parameters are "Auto-Tuning Level" and "Congestion Control Provider". When checking the TCP state with the "netsh int tcp show global" command, it is also possible to see the following message below all those parameters:
It is displayed when the "Receive Window Auto-Tuning Level" is not explicitly set, or if the system deemed it necessary to make a change because of user prompted "repairing" of your network connection, for example. Disable Windows Scaling heuristicsWindows Vista/7 has the ability to automatically change its own TCP Window auto-tuning behavior to a more conservative state regardless of any user settings. It is possible for Windows to override the autotuninlevel even after an user sets their custom TCP auto-tuning level. When that behavior occurs, it can have a very noticeable negative impact on throughput, and it does not automatically correct itself. If auto-tuning gets limited, the "netsh int tcp show global" command displays the following message:
To prevent that behavior and enforce any user-set TCP Window auto-tuning level, you should execute the following command:
Note this should be executed in elevated command prompt (with admin priviledges) before setting the autotuninlevel in next section. If the command is accepted by the OS you will see an "Ok." on a new line. The corresponding Registry value (not necessary to edit if setting via netsh) is located in: Note: This automatic limitation of the TCP Window usually occurs in the presence of some packet loss, which can be common in longer transfers and server applications. TCP Auto-TuningTo turn off the default RWIN auto tuning behavior, (in elevated command prompt) type:
The default auto-tuning level is "normal", and the possible settings for the above command are:
Our recommendation: normal (unless you're experiencing problems). If you're experiencing problems with your NAT router or SPI firewall, try the "restricted", "highlyrestricted", or even "disabled" state. Notes: If you're experiencing problems with Auto-Tuning, see also: Compound TCP - Improve throughputAdd-On Congestion Control Provider The traditional slow-start and congestion avoidance algorithms in TCP help avoid network congestion by gradually increasing the TCP window at the beginning of transfers until the TCP Receive Window boundary is reached, or packet loss occurs. For broadband internet connections that combine high TCP Window with higher latency (high BDP), these algorithms do not increase the TCP windows fast enough to fully utilize the bandwidth of the connection. Compound TCP (CTCP) is a newer method, available in Vista and Server 2008 (there is also a hotfix available for XP x64 and 2003 Server - MSKB 949316). CTCP increases the TCP send window more aggressively for broadband connections (with large RWIN and BDP). CTCP attempts to maximize throughput by monitoring delay variations and packet loss. It also ensures that its behavior does not impact other TCP connections negatively. By default, Vista and Windows 7 have CTCP turned off, it is only on by default under Server 2008. Turning this option on can significantly increase throughput and packet loss recovery. To enable CTCP, in elevated command prompt type:
To disable CTCP:
Possible options are: ctcp, none, default (restores the system default value). It is better to use this newer generation CTCP congestion control algorithm for most broadband connections, we highly recommend it being turned on. ECN CapabilityECN (Explicit Congestion Notification, RFC 3168) is a mechanism that provides routers with an alternate method of communicating network congestion. It is aimed to decrease retransmissions. In essence, ECN assumes that the cause of any packet loss is router congestion. It allows routers experiencing congestion to mark packets and allow clients to automatically lower their transfer rate to prevent further packet loss. Traditionally, TCP/IP networks signal congestion by dropping packets. When ECN is successfully negotiated, an ECN-aware router may set a bit in the IP header (in the DiffServ field) instead of dropping a packet in order to signal congestion. The receiver echoes the congestion indication to the sender, which must react as though a packet drop were detected. ECN is disabled by default in Vista and other modern TCP/IP implementations, as it is possible that it may cause problems with some outdated routers that drop packets with the ECN bit set, rather than ignoring the bit. To check whether your router supports ECN, you can use the Microsoft Internet Connectivity Evaluation Tool. The results will be displayed under "Traffic Congestion Test". To change ECN, in elevated command prompt type:
Notes: ECN is only effective in combination with AQM (Active Queue Management) router policy. It has more noticeable effect on performance with interactive connections and HTTP requests, in the presence of router congestion/packet loss. Its effect on bulk throughput with large TCP Window are less clear. Currently, we do not recommend enabling this setting, as reportedly it has negative impact on throughput with some residential US ISPs. EA multiplayer games that require a profile logon do not support ECN as well (you will not be able to logon). However, it can also reduce latency in some games with ECN-capable routers in the presence of packet loss (dropped packets). More information on ECN: Explicit Congestion Notification (ECN) for TCP/IP RSS - Receive-side ScalingThe receive-side scaling setting enables parallelized processing of received packets on multiple processors, while avoiding packet reordering. It avoids packet reordering y separating packets into "flows", and using a single processor for processing all the packets for a given flow. Packets are separated into flows by computing a hash value based on specific fields in each packet, and the resulting hash values are used to select a processor for processing the flow. This approach ensures that all packets belonging to a given TCP connection will be queued to the same processor, in the same order that they were received by the network adapter. To set RSS:
Possible rss settings are: disabled, enabled, default (restores rss state to the system default). In Windows Server 2008, the system default is for RSS to be enabled and to use a maximum of four CPUs. While this is usually enough, administrators can adjust the maximum number of RSS processors by setting the MaxNumRssCpus registry value in HKLM\System\CurrentControlSet\Services\NDIS\Parameters. The value type is DWORD, and if not present, the default value of four processors is assumed (do not use value greater than 32). See also: Receive-Side Scaling Enhancements in Windows Seerver 2008 TCP Chimney OffloadTCP chimney offload enables Windows to offload all TCP processing for a connection to a network adapter. Offloads are initiated on a per-connection basis. Compared to task offload, TCP chimney offload further reduces networking-related CPU overhead, enabling better overall system performance by freeing up CPU time for other tasks. To set TCP Chimney Offload:
The possible states are disabled, enabled, default (Vista), automatic (only Windows 7 and 2008 Server) as follows: automatic - This default setting is only available under Windows 7 and 2008 Server, it is not available udner Vista. It offloads if the connection is 10 GbE, has a RTT default - this setting restores chimney offload to the system default. Setting this "default" state under Windows 7 and 2008 Server is possible, but it sets the system to the "automatic" mode described above. Notes: Direct Cache Access (DCA)Windows 7 and 2008 Server (but not Vista) add NETDMA 2.0 Direct cache access support. Direct Cache Access (DCA) allows a capable I/O device, such as a network controller, to deliver data directly into a CPU cache. The objective of DCA is to reduce memory latency and the memory bandwidth requirement in high bandwidth (Gigabit) environments. DCA requires support from the I/O device, system chipset, and CPUs. To enable DCA:
It is also possible to enable this setting by editing the Windows Registry instead of using netsh as follows: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Setting MTUIt is sometimes useful to view and set the MTU value for a specific network interface manually. To view a list of active network interfaces and their MTU values in Vista using netsh, open command prompt as administrator and execute the following command:
You will be presented with a list of interfaces, and their respective MTU values as follows: To change the MTU value of a specific network card, type the following in command prompt:
Where "network interface name" is your specific network adapter name as obtained above (or viewable under Network adapters), and mtu=#### is the desired MTU value. For example, if the name of your network card is "Wireless Network Connection" and you'd like to set its MTU to 1500, you'd have to type:
Note: The maximum MTU value is usually 1500, and up to 1492 for PPPoE connections. Manually tuning Registry ParametersMany of the registry keys tuning TCP/IP parameters from previous Windows versions no longer work in Vista and Server 2008. Below is a list of the few we've confirmed to still work, as well as some new additions. Note that for changes to these settings to take effect the computer needs to be rebooted. As always, a registry backup is recommended if making any changes, and some proficiency in using regedit is required. In regedit (Start icon > Run > type: regedit while logged in as administrator), you can navigate and edit the following keys. MTU (Maximum Transmission Unit) - the maximum packet size. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{...}\ The {....} part of the above path is the unique identifier of your network adapter. You can recognize the correct adapter by looking at it's IP address, if obtaining IP automatically labeled by: DhcpIPAddress=192.168.x.x text value, for example. We recommend leaving this at default, unless you want to lower it. Vista uses the largest possible packet size for the underlying network by default. Note: In some test environments, the correct MTU entry may be offset by 8. The 8 offset seems to coincide with the size of the PPPoE overhead. Check the result with the TCP Analyzer. SMB Large MTU (SMB 2, CIFS network shares) SMB 2 implementation in Windows 7 and Windows Server 2008 R2 allows for using a large MTU value for very high speed/low latency Gigabit networks by enabling a new registry parameter, as follows: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Note that client workstations may have to enable lare SMB MTU in this hive instead: Note: This setting should only be applicable to SMB2 shares TCP 1323 Options HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Setting this seems to have no effect, since auto-tuning uses the TCP 1323 scale factor and changes it on the fly, disregarding this setting. Additional testing may be required to determine it's effect if auto-tuning is turned off. Setting it to 1 is best for broadband connections. NetDMA (TCPA) NetDMA enables support for advanced direct memory access. In essence, it provides the ability to more efficiently move network data by minimizing CPU usage. NetDMA frees the CPU from handling memory data transfers between network card data buffers and application buffers by using a DMA engine. Under Windows 7, NetDMA can be set directly using the netsh interface (not available under Vista):
Under Vista/2008/7, you can set NetDMA/TCPA using the following Registry parameter: Recommended setting is 1 (if not using Chimney Offload), zero otherwise. A new DWORD value may need to be created if not already present in the registry. For NetDMA to work, it must be enabled in BIOS, your CPU must support Intel I/O Acceleration Technology (I/OAT), and it does not work together with Chimney Offload. More info available -here- Checksum Offloading (DisableTaskOffload) This NDIS 5 setting allows for reducing CPU load by offloading some tasks required to maintain the TCP/IP stack to the network card. Theoretically, Widnows should automatically detect capable network hardware.
To change the checksum offloading setting in the Windows Registry: Also see: MS KB888750, MS KB904946, MS KB936702, MS KB942861 EnableRSS It is possible to edit receive-side scaling (RSS) in the Windows Registry, however, we recommend using the netsh command instead. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NDIS\Parameters DefaultTTL TTL can be safely left alone in many cases. It is a limit to the time and number of hops/routers a packet will travel before being discarded. A number that's too small risks packets being discarded before reaching their destination. A number that's too large (over 128) will cause delay in when lost IP packets are discarded. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters TcpMaxDataRetransmissions Determines how many times unacknowledged data (non-connect segment) is retransmitted before TCP aborts the connection. The retransmission timeout is doubled with each successive retransmission on a connection. It is reset when responses resume. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Note: When not present in the registry, the default behavior is 255 retransmissions (5 in documentation). SynAttackProtect This undocumented for Windows 7 setting provides protection against SYN denial of service (DoS) attacks. When enabled, connections timeout sooner if SYN attack is detected. When set at 1, TCPMaxDataRetransmissions can be lowered further. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Note: MSDN suggests a value of 2 for Windows 2k - http://msdn.microsoft.com/en-us/library/aa302363.aspx EnableConnectionRateLimiting This parameter sets (or disables) the half-open TCP connection limit in Windows 7, Vista (SP2), Server 2008, or later. Some Microsoft OSes, such as, Vista before SP2, and 2008 Server before SP2, may limit the number of half-open TCP connections to 10. Limiting the half-open (incomplete) TCP connections per second may lead to log errors which read as follows: "Event ID 4226: TCP/IP has reached the security limit imposed on the number of concurrent TCP connect attempts". It may cause P2P and other programs that open a large number of connections to be somewhat limited in ramping up their transfers. It is recommended to remove this limitation. Just check the below key and make sure it is either not present, or set to zero. Windows 7, and Windows Server 2008 SP2 or later should not have to make any changes. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Network Throttling Index (Gaming) By default, Windows Vista/7 implements a network throttling mechanism to restrict the processing of non-multimedia network traffic to 10 packets per millisecond (a bit over 100 Mbits/second). The idea behind such throttling is that processing of network packets can be a resource-intensive task, and it may need to be throttled to give prioritized CPU access to multimedia programs. In some cases, such as Gigabit networks and some online games, for example, it may be benefitial to turn off such throttling all together. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile It is only recommended to change this setting in saturated Gigabit LAN environments, where you do not want to give priority to multimedia playback. Reportedly, disabling throttling by using ffffffff can also help reduce ping spikes in some online games. Notes: Setting is available in Windows 7, Vista (SP1), 2008 Server. Default value is 10 under Windows 7, similar behavior if the setting is not present in the Registry. Games that may be affected by this throttling: Source Engine games (TF2, Left 4 Dead, CS:S), HoN, CoD, Overlord series. Reference: MSKB 948066 SystemResponsiveness (Gaming and Multimedia playback) In Windows 7, multimedia applications use the "Multimedia Class Scheduler service" (MMCSS) to ensure priritized access to CPU resources, without denying CPU resources to lower-priority background applications. However, this also reserves 20% of CPU by default for background processes, your multimedia streaming and some games can only utilize up to 80% of the CPU. This setting, in combination with the above "NetworkThrottlingIndex" can help some games and video streaming. We recommend reducing the reserved CPU for background processes from the default. Navigate to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile Notes: The number in this key is rounded by the MMCSS to the nearest 10. Under Windows 2008/2012 Server, SystemResponsiveness is set to 100 by default, denoting that background processes take priority over multimedia applications. See also: MSDN ms684247 Set DNS and Hosts PriorityAs with previous versions of Windows, one can improve DNS and hostname resolution by increasing the priority of of related services, while keeping their order. This is explained in more defail in our Host Resolution article. Lower numbers mean higher process priority. The corresponding registry settings in Vista are as follows: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider TcpTimedWaitDelay (port allocation)Short lived (ephemeral) TCP/IP ports above 1024 are allocated as needed by the OS. The default Vista values have improved from previous Windows versions, and are usually sufficient under normal load. However, in some instances under heavy load it it may be necessary to adjust the settings below to tweak the availability of user ports requested by an application. If the default limits are exceeded under heavy loads, the following error may be observed: "address in use: connect exception". By default under Vista (when the values are not presend in the registry), the OS can allocate up to 16384 ephemeral ports above port 1024, and the OS waits for 120 seconds before reclaiming ports after an application closes the TCP connection. This is a considerable improvement over older Windows versions. However, if necessary, the following registry values can be added/edited: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Ephemeral ports can be checked and changed using netsh as well. To query the current values, in command prompt, type: To set both the starting, and max user port using netsh, in elevated command prompt run: Notes: See also: TechNet article, MSKB 328476, MSKB 319502 MaxFreeTcbs and MaxHashTableSizeMaxFreeTcbs determines the number of TCP Control Blocks (TCBs) the system creates to support active connections. Each connection requires such control block, so this value determines how many active connections TCP can support simultaneously. Normally, TCP does not release a connection or reuse its resources until the connection has remained closed for a period of time (specified by the value of the TcpTimedWaitDelay entry). This interval is known as the TIME_WAIT state. The default value for this entry is determined both by the amount of physical memory on the computer when TCP/IP starts and by the Windows version. We recommend increasing it from the default if using network intensive applications that open many simultaneous connections, such as P2P. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters MaxHashTableSize specifies the size of the hash table in which TCP Control Blocks (TCBs) are stored. TCP stores control blocks in a hash table so it can find them very quickly. If you adjust the number of TCBs the system creates (as specified by the value of MaxFreeTcbs), you should also adjust the value of the hash table proportionally. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Note: The need for larger MaxFreeTcbs and MaxHashTableSize values is directly related to the value of TcpTimedWaitDelay because a large TcpTimedWaitDelay increases the number of ports that remain in WAIT states before being released. QoS Reserved BandwidthAs with Windows XP, nework adapters have a "QoS Packet Scheduler" enabled by default, which reserves 20% of bandwidth by default for QoS applications that request priority traffic. Note this only has effect in the presence of running QoS applications that request priority traffic. Registry value is undocumented for the Vista version of Windows. To customize this setting, in the Windows Registry: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched Notes: This tweak applies only to Windows versions that have Qos Packet Scheduler enabled. It will ONLY have effect in the presense of running QoS applications. QoS PolicyQoS Policy settings under Windows 7 can be edited using the Group Policy Editor (gpedit.msc): Computer Configuration -> Windows Settings -> Policy-based QoS In order to define DiffServ (DSCP) values, according to Microsoft the machine needs to have joined a domain, and interfaces have to see the domain controller. To overcome this limitation, so that you can tag DSCP values even for adapters that do not have access to a domain, use the following hidden registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\QoS (you may have to create the QoS key) Notes: Network Memory Allocation (Event ID 2017 error)When using Windows Vista/7 to serve many/large files over the local network, it is possible to sometimes run into memory allocation errors related to the Windows share. This can happen with Linux, Mac, or Windows XP clients. When this happens, you can usually see the following error in the Event Viewer System log:
It is also possible to get an error indicating that: "Not enough server storage is available to process this command". To avoid those errors, you need to change the way Windows allocates memory for network services and file sharing. The below settings optimze the machine as a file server so it would allocate resources accordingly. There are two related registry settings: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management A value of zero above establishes a cache of ~8 MB, a value of 1 allows the cache to expand to physical memory minus 4 MB, if needed. HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters Size=1 minimizes used memory Note: Even though this tweak is from older Windows server OSes, it works on workstation versions, as well as Windows Vista and 7 (32 and 64 bit). Gaming Tweak - Disable Nagle's algorithmThe tweak below allows for tweaking or disabling Nagle's alogrithm. Disabling "nagling" allows for very small packets to be transferred immediately without delay. Note that disabling Nagle's algorithm is only recommended for some games, and it may have negative impact on file transfers/throughput. The dafault state (Nagling enabled) improves performance by allowing several small packets to be combined together into a single, larger packet for more efficient transmission. While this improves overall performance and reduces TCP/IP overhead, it may briefly delay transmission of smaller packets. Keep in mind that disabling Nagle's algorithm may have some negative effect on file transfers, and can only help reduce delay in some games. To implement this tweak, in the registry editor (Start>Run>regedit) find: This setting configures the maximum number of outstanding ACKs in Windows XP/2003/Vista/2008: For gaming performance, recommended is 1 (disable). For pure throughput and data streaming, you can experiment with values over 2. If you try larger values, just make sure TcpAckFrequency*MTU is less than RWIN, since the sender may stop sending data if RWIN fills witout acknowledgement. Wifi performance may see a slight improvement with disabled TcpAckFrequency as well. In the same location, add: For Server Operating Systems that have Microsoft Message Queuing (MSMQ) installed, or if you have the MSMQ registry hive present, also add TCPNoDelay to: To configure the ACK interval timeout (only has effect if nagling is enabled), find the following key: Notes: SG TCP Optimizer (version 3.x)The TCP Optimizer version 3.x allows for easy application of the above settings under all current Windows versions. This free software provides an intuitive interface for tuning your internet connection, backing up/restoring to the Windows defaults, etc. There is no installation required, you can just save it to the desktop, right-click > run as administrator and choose your settings. More detailed information about all available options is provided in the online documentation, answers to frequently asked questions are available in the Optimizer FAQ, and personalized help is available through our broadband tweaking forum. For user convenience, we also provide a quick way to apply all optimal values as recommended above using our SG Vista TCP/IP Patch. It allows for tweaking all the above netsh settings and registry values in one simple step (with the exception of the "gaming tweak" section). The patch also provides for easily reverting the settings to their Windows default values. To apply, save to your desktop and run as administrator (right-click -> run as administrator). Click Y when prompted to apply settings. Note: If for some reason Windows renames the file and adds .txt extension to it, you may have to manually rename it back to have a .cmd (or .bat) extension before running it as administrator. See AlsoWindows Vista tcpip.sys connection limit patch for Event ID 4226 - removing the limit on half-open TCP connections. Windows 8, 10, 2012 Server TCP/IP Tweaks - updated tweaks for Windows 8, 8.1, 10, Server 2012 and 2012 R2. Wireless Network Speed Tweaks and Network Adapter Optimization. ReferencesWindows Server 2008 Network Shell (Netsh) Technical Reference RFC 2581
User Reviews/Comments:
rate:
avg:
by
Ev - 2008-07-28 04:01
I just followed your recommended Vista TCP/IP settings to increase my broadband internet speed and my internet speed has improved significantly already without even closing my browser, doing a clean-up, or restarting the PC. I did not try the registry edits. I think I will leave those for now, unless I experience more problems with my internet speed. So far, it is much better than before tweaking the settings.
Thanks!!! :-)
by
anonymous - 2008-08-04 06:49
by
anonymous - 2008-08-12 02:40
by
satyre - 2008-08-18 20:22
Does Vista have the connection limitation like in XP? IF so, can we use the same registry hack you wrote as below?
"Windows 2000 Web Patch According to the HTTP specs, only limited number of simultaneous connections are allowed, while loading pages. To increase that number, you can add the following entries to the Registry (they are not present by default): HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings "MaxConnectionsPerServer"=dword:00000010 "MaxConnectionsPer1_0Server"=dword:00000010 "
by
CableDude - 2008-08-25 22:26
by
rami - 2008-10-01 16:00
by
Philip - 2008-10-02 07:57
The second paragraph in the article explains "elevated command prompt" - it simply means you need administrator priviledges to run those commands. Here is a FAQ about it as well: http://www.speedguide.net/faq_in_q.php?category=42&qid=249
by
hclarkjr - 2008-11-03 09:25
by
anonymous - 2008-11-23 08:35
I have noticed that some OEM installations of Vista have limitations on users, even when set as an administrator...
To get past this, you must re-install Vista. Do not use the OEM installation since it likely contains the limitations - - instead, use a retail version or a site-licensed OEM version (or use a service like FireDog).
by
anonymouse - 2008-12-05 15:40
by
anonymous - 2008-12-07 01:32
by
eminence - 2008-12-24 08:51
by
Philip - 2008-12-25 00:32
by
stan - 2008-12-25 04:41
I am sorry, but does anyone here speak english? I like to think I'm quite savvy, but even though I've altered all the CMD codes as mentioned, I still have no improvement. I strongly feel i simply do not have enough TCP connections available.
On bittorrent I have hundreds of seeds available for 15 downloads, but in no way can I crank up my download speed above 50kb. If I stop 10 out of 15 downloads, I have the same total speed, but much higher per download. I have an 8mb connection, so this is quite rediculous. Please, please, could someone lead me through this, step by step, in plain english, without leaving out obvious-to-some- steps? My income depends on my download speed, and I am losing it here. Stan
by
Drakonas454SS - 2008-12-27 22:20
Man, I was just going through the same thing. I have tried a few things here and there. I went through all of these websites finding new torrents to download, but never found any for performance. I found quite a few today that I have changed my parameters with and all that stuff, and they have worked out with an incredible increase in speed. I increased my download speed by almost 200% and my upload speed by almost 150%. I only using the best they have around me right now and that is 3m. Sucks so I had to find some way to get it taken care of. As far as the torents, all I can really remember what I did was go through the website for the guide that was provided by bittorent. I'll try to post all the places I went today to get all that stuff tomorrow on here for you. And yes, THEY DO WORK.
by
Philip - 2008-12-28 18:50
Other than the above tweaks, torrent P2P/P2PTV applications that utilize hundreds of connections at a time may somewhat benefit from increasing the number of half-open TCP connections, as outlined here: http://www.speedguide.net/read_articles.php?id=2744
by
ace_caz - 2008-12-29 10:40
Hi,
Ref: MTU (Maximum Transmission Unit) - the maximum packet size. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{...}\ MTU=1500 (DWORD, entry does not exist by default) I can not see the above info. in the registry. ie MTU I can get as far as interfaces - what im i missing.. cheers!
by
NetworkProgrammer - 2008-12-30 15:27
Just coming from a software engineer who programs with Berkley sockets all the time: Remember by disabling Nagle's Algorithm, you are sacrificing your data throughput. It's an algorithm that juggles latency vs data throughput.
So if gaming is your priority, it's a good tweak, but if you do a lot of file transfers, I suggest you leave it on. Any decent programmer who wrote the network code for these online games would disable Nagle's Algorithm through the API--meaning that you wouldn't have to yourself. If you have to disable Nagle's Algorithm globally to get a better ping in a game, then it's a failure of the programmer who wrote the network code for the given game (e.g. WoW).
by
anonymous - 2008-12-30 20:59
I've been seeing this nagle tweak thing all over the internet. I just had to finally say something in regards to Vista and this tweak. For windows Vista the correct registry key for TCPNoDelay can be one of two places:
1st place is: HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\ 2nd place is: HKEY_LOCAL_MACHINE\Software\ {in the game sub key} Do not add the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters registry entry to Vista, its not there by default for a good reason, because Vista doesn't use the Message Queue Server (MSMQ). The TCPNoDelay key is application and function specific, meaning, what ever software key it appears in is where it works, but heres the deal, it can only appear once in the registry. If its more then one place in the registry then it does not function. Sooo...dont go adding it to every application and game registry key, only add it in one place if you want it to be applied globally on Vista, and thats in the HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\ registry key. Now, the next thing I wanted to say, regardless of the pictures you have seen, or what some of the so called 'experts' on the 'net say, disabling nagles is a bad thing. When you do you basically break TCP/IP. In XP and Vista, the game doesn't work better because there is a flaw in the windows TCP/IP, it seems to work better because the code in the game is crappy to begin with and doesn't work properly with TCP/IP because the net code in the game that shapes the packets it sends doesn't correctly form the packets and as a result produces a smaller packet and lots of them, disabling nagles only seems to help because it makes TCP/IP more accpeting of the broken non-standard packet from the game. Next, disabling nagles, while you may get a lower ping reading in certain games, your really degrading your connection and bandwidth. The last thing I wanted to say about adding this to Vista, it doesn't work in Vista contrary to popular belief even if you turn off autotuning. Think about it, what happens when you turn off autotuning? So you turn it off, lock the TCP window size, and then further degrade that by turning off nagles? Come on now, get realistic folks.
by
Steve - 2009-01-10 14:30
I use Vista with a wireless connection through Alltel. I utilize a Kyocera kpc680 card plugged into a KR2 router with an external yagi antenna on my roof. I can see the cell tower from the roof of my house, and get a 100 percent signal. Although my DL speed is usually 1200 or better, none of the tweaks above seemed to make any difference, and most of the defaults were as described anyway. What I really wish I could improve is my UL speed. It usually doesn't exceed 90. Am I missing something?
by
anonymous - 2009-02-04 13:07
"Do not add the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters registry entry to Vista, its not there by default for a good reason, because Vista doesn't use the Message Queue Server (MSMQ). The TCPNoDelay key is application and function specific, meaning, what ever software key it appears in is where it works, but heres the deal, it can only appear once in the registry. If its more then one place in the registry then it does not function. Sooo...dont go adding it to every application and game registry key, only add it in one place if you want it to be applied globally on Vista, and thats in the HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\ registry key."
---- So if we want to play WoW with better ping is this a better fix then trying to disable nagles or should we do both. I understand WoW was programmed incorrectly so what is the consensus on the best approach to fixing whatever you can
by
Question - 2009-02-10 13:56
"I've been seeing this nagle tweak thing all over the internet. I just had to finally say something in regards to Vista and this tweak. For windows Vista the correct registry key for TCPNoDelay can be one of two places:
1st place is: HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\ 2nd place is: HKEY_LOCAL_MACHINE\Software\ {in the game sub key} Do not add the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters registry entry to Vista, its not there by default for a good reason, because Vista doesn't use the Message Queue Server (MSMQ). The TCPNoDelay key is application and function specific, meaning, what ever software key it appears in is where it works, but heres the deal, it can only appear once in the registry. If its more then one place in the registry then it does not function. Sooo...dont go adding it to every application and game registry key, only add it in one place if you want it to be applied globally on Vista, and thats in the HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC\ registry key. ...... " --------------------- Is he right or not?
by
BAUBAU - 2009-03-01 16:41
Fast Games (and voice/video chat) usually use UDP traffic (think CS here) as UDP is faster and has lower overhead than TCP, and has little to none error handling (these TCP ACK-s). Tweaks don't apply here. Some ISPs are bad, dropping UDP traffic so you get lots of UDP packet loss and high latency. Complain to them, as from your side there is little to be done.
For those slower than realtime games, based on TCP traffic (WC3), some tweaks may work at the expence of throughput. It's simple as that. You modify the handling of packets to minimize overhead and by doing so, the following apply: - While gaming, you gain response time by sending smaller packets at a time and by not resending useless data when network problems generates packet loss. - While downloading, you loose speed by having more overhead, and when network problems generates packet loss your speed gets slashed again for not having an optimized algorithm to deal with it, because now there is no useless data. What's too bad is that ISPs hurt you in this situation too, they dont tolerate things like MTU tweak and so on. Maniacs may try tweaking the advanced properties of their network card, like Jumbo Frame, Large Send Offload and Flow Control and set them to off, at the expense of throughput. Tweaking it yourself can result in crawling internet performance. Improper use can make a huge downgrade, don't scratch your head when you get less than 10MB/s on your Gigabit enabled LAN, when you should have got 60-80MB+.
by
Lisa - 2009-04-09 16:25
I have an HP Pavilion laptop with windows vista, I play an online game called Team Fortress 2 through Steam. Starts out smooth and as soon as alot of action occurs, I lag like crazy. Screen gets jumpy...like a damn slideshow. I've heard that windows vista has issues with Steam games. And btw my comp plays other games smooth as ever. Any info or help would be greatly appreciated. THANKS Also, super high ping with router.
by
anonymous - 2009-05-03 19:37
Lisa: your issue sounds to be more related to your graphics card, I was running an X1650 512Mb on an AGP bus on Team Fortress 2 and it was as you described, I upgraded to a new computer with PCI-e bus and got an HD4870 1Gb DDR5 and Team Fortress 2 runs as smooth as now, well with the exception of getting sprayed with Natasha (chaingun).....lol
|