Changes in the Windows Registry to Improve Internet Speed

Having a good Internet speed is essential when surfing the net. It is vital to download large files, enter web pages, make video calls … In short, it is necessary for daily actions of our day to day. However, on many occasions problems may arise. Faults occur that affect the proper functioning of the connections. In this article we are going to talk about some functions of the Windows registry to improve Internet speed.

Windows registry functions to improve internet speed

Windows is undoubtedly the most widely used operating system on desktop computers. There are many tools that we have available for all kinds of actions. Some of them are included in the system itself and we do not need to install anything additional. This is what happens for example when making some changes to the registry.

Registry to Improve Internet Speed

These changes allow us to configure some aspects that may be key to our day to day. We can improve security, for example. Also, as we are going to see, we can improve some important points related to the Internet connection. The goal is none other than to achieve a faster and more stable connection.

Having a powerful Internet connection means good speed, low latency, and also quality and stability. This is not always present, since sometimes problems may arise that affect us, as well as some bad configurations that could damage our Internet connection. Through the registry we can carry out some simple changes that on certain occasions could come in handy to achieve that extra speed and stability when using certain applications, making requests to servers, etc.

SizReqBuf

One of the changes that we can make from the Windows registry to improve Internet speed is through SizReqBuf . Represents the size of the raw receive buffers within a server environment. This means that it can affect when storing something in a high latency environment. It could benefit by hosting a website or any other service, for example.

Our system generally allocates that buffer at 16384 bytes . In most cases this is sufficient, but we could modify it. To do this you have to enter the registry through the Windows + R key combination and there enter the path ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters

We have to add a new DWORD SizReqBuf. In the case of having a server with more than 512 MB of physical memory, the value must be modified to 17424. If it is less than 512 MB of memory, it is advisable to modify this value to 4356.

Valor SizReqBuf

IRPStackSize

The IRPStackSize function can be modified in the Windows registry. Refers to the size of the request packet stack. It represents how many 36-byte receive buffers our team can use at the same time. This is what will allow to receive more or less data simultaneously.

Mainly we can notice changes if we have a high speed contracted. In case the amount of IRP is very low we could have limitations. By default Windows assigns IRP 15, but we can expand it to 50. For example 32 could be a good measure.

To change this value, the first thing we have to do is press the Windows + R key combination and run regedit. Later we go to the path EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters.

IRP, valor del registro de Windows

There we have to add a new 32-bit DWORD value and give it the name IRPStackSize and assign it the value we want, as it would be 32 in the example.

DefaultTTL

The DefaultTTL value tells a router how long a packet should wait while trying to deliver it before dropping it. If this value is high, our team spends more time waiting for the delivery of the package, something that could affect the productivity of the network.

Windows, by default, waits 128 seconds. This could cause lags in case of problems. We have to enter the Windows registry and go to the path EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters.

Once we are here, we must create a new DWORD value with the name DefaultTTL. We can give it a value between 1 and 255. The lower it is, the less wait it will have. However, you have to maintain a balance to avoid problems.

MaxFreeTcbs

In this case, it is a value that determines how many active TCP connections our equipment can handle at any given time, depending on the amount of physical memory and performance with respect to bandwidth. If this number is very high, our equipment may not process TCP transactions correctly due to the large number of active connections at the same time. On the other hand, if the value is too low, we cannot host or request so many connections.

This time we go back to the path EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters and create a new value DWORD MaxFreeTcbs and set it as 65536. For those who use a computer with few resources we can set the value to 16000.

MaxUserPort

When an application requests an available port to open from Windows, the operating system chooses a port from 1024 to a specified maximum known as “MaxUserPort.” A port on our computer allows us to establish TCP / UDP connections over the Internet and on the local network.

What we do is assign a value to the options when opening a port . This value can be from 5000 to 65534. By default it is assigned as 5000, so we can increase it to gain more speed when finding a port. We can put the value 65534 if we want.

To do this we have to go to the path EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters and create a new MaxUserPort DWORD value with that value.

Tcp1323Opts

Tcp1323Opts allows us to use RFC 1323, known as “High Performance TCP Extensions”, in three ways. This particular value works with the timestamp and scaling of the network window. This allows the TCP connection to negotiate a receive window size with a server, allowing computers to specify receive windows of up to 1 GB.

Once again we go to the Windows registry and open the path EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters. This value may already be created and if it is not, we assign it the name Tcp1323Opts. Later we give it the value 1 (or modify it if it already is).

GlobalMaxTcpWindowSize

This value refers to the amount of data that can be sent from our equipment without receiving a confirmation packet. Keep in mind that every time we send small pieces of data to the Internet, our team has to wait for that packet and tells the other end of the network that everything is correct. Sometimes due to latency and improper traffic exchange, this might not be the best.

That is why we can create this DWORD value and allow more data to be sent without waiting for that packet to arrive. We can do it through the registry path EquipoHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip and create a value called GlobalMaxTcpWindowSize. We assign the name GlobalMaxTcpWindowSize and give it a value of 65535. This allows our team to send 64 kilobytes without waiting for confirmation. We can also increase it to 128 by assigning a value of 131072.

GlobalMaxTcpWindowSize

In short, these are some changes that we can make through the Windows registry to make our Internet connection, as well as our computer when connecting to the network, work as well as possible. We have already mentioned that Internet speed is a very important factor for users and through registration we can also improve some parameters.

Important note: all this we have shown refers to changes in the Windows registry. To avoid problems, it is always advisable to create a backup copy of the registry before making any changes. Also, whenever we notice that the speed worsens or we have a problem, we must return to the previous state. This is something that we must always take into account when we are going to change a value in the Windows registry and we do not want problems that could affect the proper functioning of the system.