The Broadband Guide
SG
search advanced
 Username:
 Password:
Register
 forgot password?

Windows 2k/XP Registry Tweaks

2001-03-31 (updated: 2015-04-06) by
Tags: , , , , , , ,

Windows 2000 and XP are built on NT technology and both are generally better optimized for networking than Windows 9x and even NT4. Regardless, both XP and 2000 are still configured with respect to Ethernet rather than high-speed Internet connections, where latency plays a major role in throughput. Here, you will find specific information on how to optimize the Windows 2000/XP Registry for Cable Modems, DSL, or any similar type of broadband Internet connection.

Customizing the Windows Registry assumes some proficiency in tuning Windows configuration files. If you don't feel comfortable editing it, please use our TCP Optimizer program, or the Windows 2000/XP registry patches from the Downloads section of the site. both those options will add all the parameters and set all the optimal values in the Registry automatically for you.

If you'd rather make the changes yourself, or prefer to experiment with different values to fine-tune your connection, follow the directions for editing the Registry below.

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"
(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"
(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"
(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\0
ProtocolMTU="1480"


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=1500 (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=1500
(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
"MaxConnectionsPer1_0Server"=dword:00000010

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
"MaxConnectionsPerServer"=dword:00000010
"MaxConnectionsPer1_0Server"=dword:00000010

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.


For additional tweaks and information, check our other related articles:
Windows 2k/XP - More Tweaks
Advanced Tweaking
Host Resolution Priority Tweak
Browser Tweaks
LAN Tweaking
Windows Vista / 2008 Tweaks


  User Reviews/Comments:
    rate:
   avg:
by mrfiberoptic - 2007-12-13 16:16
why is it greedy to want improvement for viewing video's over ip without it skipping and rebuffering 500 times and getting a decent sound from the video. streaming video nowadays is better than a few years ago. better quality picture and sound. what is possible now is far better than in the past. 56k modem connection limited to 40k max download doesn't make it 56k it is 40k modem for 56k price. just a way for modem manufacturer to charge more for the product. just like a harddrive. my 250GigHDD is only 230max usable space when formated. i think im buying 250Gig but actually not. usable space on a 250Gig drive varies. if formatted at 230Gig why not sell it for 230gig price. if paying for 30Mbps connection and only getting 23Mbps connection when i just upgraded from 15Mbps and was getting 14.450Mbps connection. how do i boost my performance to get closer to the max connection i am paying for? don't know if this info will help me adjust NIC speed or not. i use my connection for multiple uses, from email+attachments to streaming videos instructional or entertainment, and gaming and downloads of programs and online shopping or research. i don't like waiting for downloads to take hours or days or even weeks. does anybody like waiting? Although patience is a virtue they say. But i don't want to fall asleep waiting for a file to download at 5 am when i want to download it + install it and get to sleep at a reasonable hour to get up early the next day. i need my sleep. no sleep means i fall asleep at work. im not greedy i just want what i pay for.
by anonymous - 2008-03-28 03:59
I hope that was a mistype with the 100 MB per second up there...but anyway made me spill my coffee on the screen.

100 Mbps means 100 MegaBITS per second. That is, VERY roughly about 8 MB per second....
by moulin1 - 2008-04-01 12:34
In reference to both webadmins complaints about over using their servers and the fact that too many tcpip connections can cause problems with web browsing (it definitely can). I use Opera for web browsing which has its own setting for max connections (tools|advanced|network). The default is 8. If I set it higher I get slower not faster. This setting limits my web browsing as needed. But I set my max much higher in the registry which will control other clients like utorrent. I dont use firefox regularly so I don't know if it has a similar setting but perhaps someone can enlighten.
by sinnerbaby - 2008-04-02 21:58
HOw can we trust any advice you give when you can't even format your web page to fit in a browser ..
by anonymous - 2008-04-22 15:51
Page fits fine in my browser :P.

Aside from that, I work Tech Support for an ISP, and the advertised speed of an Internet connection, is not what they are promising you will get, it's what they are promising you won't go over essentially. You have to understand that with any technology, be it copper or fiber, there is what's referred to as attenuation. You also have to take into account how far away you are from the Central Office, and how long it takes the signal to travel that distance. This is the reason most DSL providers only offer higher speeds in certain areas, as some areas are too far away to sync up at those speeds. I agree with this tweak, and I think that it's a good thing for people, however, like most things in life, moderation is key. I can see a lot of people getting confused and thinking the more connections that more throughput, which simply isn't the case. It's like someone buying a second NIC to perform Load Balancing so they can get the most out of their 512Kbps connection, even though each NIC is 100Mbps ... It's pointless. I still can't get over how many people don't understand that you will almost never obtain that theoretical maximum speed advertised by the ISP... And how many more don't understand that the speed is advertised in Kbps/Mbps, not KBps/MBps. Amazing.
by anonymous - 2008-05-16 18:01
"I hope that was a mistype with the 100 MB per second up there...but anyway made me spill my coffee on the screen.

100 Mbps means 100 MegaBITS per second. That is, VERY roughly about 8 MB per second.... "


100 Megabits per second = EXACTLY 12.5 MegaBytes per second.
by isis - 2008-07-23 06:33
I'm connected to a cable provider, which gives me 15Mbps. To achieve this speed really, my modem syncs at about 18Mbps. this way i get the real troughput of data, even the tcp-ip header overhead is taken into this little more bandwith.

But when surfing on pages with many images, each 2-3KB, the http request-response delay takes the overal throughput down to 2-3Mbps with only 2 concurrent connections. increasing the per server connection limit will get these pages many times faster.

And when i need to download 5 files from the same server, each takes 10 minutes for example, i don't want to sit in front to my computer waiting for each file to complete, just to start the next one. i start all 5 at the same time, and go doing something else. it does not take more bandwidth from the server, and you cannot tell me the difference between 2 and 5 connections will down the server. i set up web servers for millions of views per day, it doesnt really matter how much concurrent connections you give them. if they want to see something, they get it. if now or after two or three more connections does not matter.


(about harddisks: hdd vendors count MB as 1000 KB as 10000000 B, means your 250GB end up as 250'000'000'000 bytes, which your computer obviously interprets as 232.8GB using 1024b/kb)
by anonymous - 2008-12-29 15:46
HTTP Connection Limiting:
1) I run a few web servers and to stop or try to stop DOS attacks we have a patch on the server that functions to blacklist IP's for connections over 4. Basically it works like this; IP x.x.x.x makes 2 requests for page.html , no trigger; while IP y.y.y.y makes 5+ requests (open threads) the system triggers and blacklists the IP for 1 hour by redirecting to a page telling them why, IF that user then hits refresh by X times or X times call on the original page y.y.y.y is added to a reject list for 24 hours: IE: all connections from that IP are rejected for 1 day.

2) Overhead - yes request packets use up your bandwidth so doing this 'patch' won't help you and in fact on smaller web pages it WILL slow it down.
Think of it like this:
Your printer can print 7 pages per minute. Hook it to the network and try to print 7 pages (each) from two different computers - it will still take 2 minutes to print them - now take this example to the extreme try to print 7 pages on 10 different computers IE: end time is the same; 10 minutes.
Web pages are the same (basically), imagine this: Pretend you have an Internet connection that will transfer 100K per second, so you request a 100K web page, the "Packet" (both send and receive) takes up 50K so your web page is loaded in 2.0 seconds ( 50k (1/2 second) send, 100K (1 second web page) and 50K (1/2 second) 200K total transfer) with ONE thread. Now expand this to TWO threads, the same info takes 5.0 seconds because of the extra 50K packets. The "Overhead Packets" in doing this will get exponential.
(Note: This is a SIMPLE explanation that skips a lot of detail that others have posted; saying the same thing)

3) Also, web servers are smart. One of the (arguably) dumbest ones out there is IIS (Microsoft internet information services), and even that dumb server is still MORE than capable of looking past the "Thread Request" and bandwidth throttle based on the requesting IP address.

4) Lastly, the ideal behind multi-threading for web services comes from the "OLD SCHOOL" web servers that were no more than fancy FTP servers. FTP DOES use multi-threading (average is 10 threads, but that is not the rule the server admin can set it to 1 if they want) and most FTP Programs have threading limits or settings to take advantage of this. These are NOT the same thing however as they look at a files size, and then break up each thread request into segments of the file, IE: Thread 1 will request from 1 to 100K of the file, Thread 2 will request 101K to 200K, etc.
by ddgrick - 2009-05-29 01:24
You web admins really need to know how to setup a server and stop being so cheap with memory. Times are changing. FiOS, DOCSIS 3.0, and Paxio broadband can make use of 10 connections at a time easily. According to Moulin1, Opera defaults to 8 simultaneous connections and IE8 now has 6. There is also the ability through a downloadable Windows installer file to increase it to 10. If you have a target set for how many users you want to be able to service concurrently then you now need to multiply that by the new Microsoft defaults at a minimum. Test your web server at those limits for the total amount of memory used in a worst case scenario. Set a limit if you want on the total connection memory, not per user. A bad user experience through no fault of their own reflects poorly on IT specifically and the company.
http://support.microsoft.com/kb/282402
by Johny - 2009-08-04 08:18
Im a layman interms these settings.
However can anyone shed some light from a client perspective. Lets say if i have a connection through my cell phone and getting downlink around 150KB/sec, what are some settings that I can use to optimize my speed??
by edokter - 2009-10-21 09:01
Regarding this note: "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".

Q263088 reads that the TcpWindowSize does not work while Windows is accepting a connection when it is configured *per interface*. So the note is misplaced here. In fact, when I use GlobalMaxTcpWindowSize, it has no effect *at all*. It is best to simply use TcpWindowSize under .../Tcpip/Parameters, and forget GlobalMaxTcpWindowSize alltogether.
by Glenda13 - 2009-11-18 06:10
To print any web page without having text cut off...

Select the text you want printed. CTRL-P and choose Print SELECTION only.

=)
by Kriegar - 2009-11-22 09:38
While I find the comments by Anonymous absolutely fascinating, I'm astounded by the sheer gall of the bulk of them.

Advertised/provided bandwidth? Are you serious? "Greedy" connections? Really?

Or the one that I really like-advertised bandwidth as a limit-an optimum-obviously, a goal to TRY to obtain, if your cash smart!

The fact of the matter is this-webserver admins, and internet providers in general, need to take a refresher course in "Truth in Advertising".

In my day, what you advertised was the bare minimum that you provided your customer for his money-not a maximum they would likely never attain!

You certainly did not put in place protocol to intentionally limit them from receiving goods that they paid for, and were entitled to receive...much less malign their character!
Then you go on to malign paying customers for their lack of knowledge in your area of specialty! Duh, that knowledge is exactly what we are paying YOU for! What would you have your customer do? Pay you, spend money on an IT education, and get some real world experience...just to find out how YOU are screwing THEM out of what they are paying for? I'm astounded at the absurdity of your "logic".

The fact of the matter is this: IT professionals such as yourself, and ISP's, are taking obvious advantage of semantics and small type to defraud and rob their paying customers!

If you cannot, or will not, provide the service you advertise, then you are a fraud. If you take steps to prevent your customers from obtaining tat service you've advertised, and they have paid for, then you are in the business of criminally defrauding your paying customers.

The difference between what you claim your advertised speeds are, and what you KNOW your customers perceive those advertisements to be, is the problem, and we ALL know it. However, ISP's think EVERYONE is ignorant of all of this, and take advantage of unwitting customers with their duplicity-intentionally. Fraud.

Then, YOU come on here maligning THEIR character? Are you kidding me?
People aren't trying to get MORE than they are entitled to-they are simply trying to achieve what they perceive they are PAYING for. Nothing more, nothing less. And the customer is ALWAYS right. Or have you forgotten that?

I suggest to you that you learn to advertise what you CAN, and WILL provide-and that this be what your customer UNDERSTANDS that he is PAYING for. I'm sure you'd find a lot less people trying to "tweak" to achieve an unobtainable goal! Then you might have no need of all of these inexplicable limiting protocols that you crow so proudly about! In my view, your attitude, and your pride in thinking you can freely frustrate your customers is enough to make me sick to my stomach. You've a nerve, indeed. Try going back to an old school business model-provide what you advertise at your minimum, with a goal of EXCEEDING customer expectation. Then you will have HAPPY customers, who won't change ISP's for a 1Mbs difference...ya think?
by Core - 2009-11-23 01:14
OrSpell Check Your Text
Language: English (change)


What Kriegar says i COMPLETELY CORRECT! I've been in Computers & Programming & Hardware, Technical & Sales for over 30 years, and he's right about it all.

So he misses some of the deeper technical points we're arguing about, by he's a layman, just like most of the customers out there buying Clear or Verizon or Comcast or whatever SERVICE.

The problems are so bad Kriegar that NO ISP can guarantee any rate what-so-ever, they just do not own the Internet, they do not own the connection from you to the site you want to view. They also rent it, but they're being dishonest still, you're absolutely correct about that.

Add on layers of greedy sales people told to lie from the even greedier Corporations that pay them to be the dope peddlers of Internet to you, and you'll have a good idea why you're not getting exactly what the techs know you probably never get.

If they stopped lying today, they'd sell you a 100-300Kbs good most of the time connection, seriously. Some actually would have worse, and some maybe better, as distance does mean something here, and so does your route from A-to-B, and who's in the middle (your ISP and their ISP and the FBI/CIA/NSA/DoD etc. and abroad...) of getting what you want, and also how your A is set up and how site B is set up.

So yes, they're all lying BIG, but unfortunately so are Politicians, Credit Companies, Banks, Insurance Companies, Criminals, and etc. etc. etc. And not just here in the USA, they're lying in All Countries every where day & night.

But like Microsoft, they're ALL hoping it will one day be just as they advertised, and you'll have grown old and tired of complaining that the world's not fair. And if our children take up the lack of morals and ethics they spread like disease across our civilizations we'll inherit a world very close to the 'Hell' the religious keep talking about every day of their frightened lives. (I guess seeing it coming doesn't do anything from keeping from happening).

And if we all went to court and sued and won we'd all be paid (or not cause Lawyers lie too) in monies that are not worth what they say they are, just like that ISP Rate we just talked about.

No wars are worth fighting, No people are worth killing, and No desires are guaranteed to be satisfied. All you have is Time in this Life, so do what you want with it, and if this set of reg changes helps you to do what you want, then so be it, and if everyone or enough people do change these small things, something bigger may happen.

Remember, no one promised us the Internet, or the WWW, or even eMail, we have inherited it to do as we desire, and no Media Corporation is happy about that and they plan to make us pay them back. Take a break from all that downloading and go out and see Nature before that is Gone, you'll feel better that you did at least. =)
by maxpfc - 2010-08-26 13:29
I would like to point out that the amount of memory consumed by one subthread or tcpip socket is negligable. If we're talking about a asp.net webserver here, each request is handed over to a subthread for proccessing. These subthreads are not like the proccesses in task manager, they are much more light weight and share resources unlike windows proccesses. For example there might be an object in memory that handles creating an http stream to the user once a request is made. All threads do not contain a copy of this object but instread share it. The model where each thread has it's own resources is called the "apartment" model and was used in Visual Basic, .net has done away with this. Also, do you honestly think that just because http is a stateless protocol they cant tell that 50 million requests are being made from the same session. The WEBSERVER decides what the limit are. Its up to you to do as you think best. PS: if you've got Linux as a server none of the above applies (linux uses "fork" to devide each request to a propper thread. If you're interested in this stuff, download a copy of "httpd.conf" sample file and see the settings for a real live webserver on linux/windows.
by maxpfc - 2010-08-26 13:37
I would like to point out that the amount of memory consumed by one subthread or tcpip socket is negligable. If we're talking about a asp.net webserver here, each request is handed over to a subthread for proccessing. These subthreads are not like the proccesses in task manager, they are much more light weight and share resources unlike windows proccesses. For example there might be an object in memory that handles creating an http stream to the user once a request is made. All threads do not contain a copy of this object but instread share it. The model where each thread has it's own resources is called the "apartment" model and was used in Visual Basic, .net has done away with this. Also, do you honestly think that just because http is a stateless protocol they cant tell that 50 million requests are being made from the same session. The WEBSERVER decides what the limit are. Its up to you to do as you think best. PS: if you've got Linux as a server none of the above applies (linux uses "fork" to devide each request to a propper thread. If you're interested in this stuff, download a copy of "httpd.conf" sample file and see the settings for a real live webserver on linux/windows.
by bladerunner - 2010-10-04 11:34
Thanks a lot!
by TechGuy - 2012-03-15 07:50
I have troubleshooted many problems with slow torrent downloads.
In most cases the culprit was a a weak router that allowed for insufficient Simultaneous Connections.

This problem manifests itself by an initial high peak in download speed and subsequent choking down.

This advice is not applicable for those computers directly connected to the CableTV/DSL modem without an external router.

Some routers support only 32 Simultaneous Connections!
by anonymous - 2012-06-23 23:08
thank you
by SalemFitury - 2012-08-25 14:23
It Work Perfectly
I was having serius problem since year from now after internet connection back tho the country ..
web surfing was slower then before and I not knowing whay until i read this great article
Just after I change the value GlobalMaxTcpWindowSize to 256960
Page load turn faster then any time was before
Even youtube video now loading faster and file downloading more stable use full speed of my DSL connection
Thanks you very much for this
by j7n - 2014-02-18 21:58
After I adjusted the receive window to 256960, about four times the default, I can get a single connection to saturate my bandwidth of 4 MB/s, and avoid the overhead of segmented or multi-source downloads. As high speed Internet is now common, I am going to use this moderate setting on all my Windows installations.
News Glossary of Terms FAQs Polls Cool Links SpeedGuide Teams SG Premium Services SG Gear Store
Registry Tweaks Broadband Tools Downloads/Patches Broadband Hardware SG Ports Database Security Default Passwords User Stories
Broadband Routers Wireless Firewalls / VPNs Software Hardware User Reviews
Broadband Security Editorials General User Articles Quick Reference
Broadband Forums General Discussions
Advertising Awards Link to us Server Statistics Helping SG About