We have noticed that there isn’t much information available online about adjusting SQL Server Network Packet Sizes. Even Microsoft suggests that the default value of 4096 is the best option for most applications. However, we believe the default value is an artifact catering to lower connection speeds and older applications.
The Nitrosphere team is committed to enhancing network performance, and we have found that modifying the SQL Server Packet Size can often be a quick and effective solution to improve network performance. When setting up or optimizing a server, this is one of the first configurations we make, and the best part is that you don’t need to restart the server afterward. You only need to reset the connections.
Packet sizes are automatically negotiated at the time of connection, so increasing the value on your SQL Server will reduce query times and improve application performance where it can without forcing larger packet sizes onto legacy applications that will continue to negotiate within their existing parameters.
To increase the SQL Server Network Packet Size on the server, you can follow these steps:
- Open SQL Server Configuration Manager. You can find it in the Start menu under “Microsoft SQL Server” folder.
- Expand “SQL Server Network Configuration” and select “Protocols for [instance name]”.
- Right-click on “TCP/IP” protocol and select “Properties”.
- In the “Protocol” tab, scroll down to find “Network Packet Size” and change the value to the packet size to 32000. For TLS, set the value to a max of 16000.
- Click “OK” to save the changes.
- Restart the SQL Server service for the changes to take effect.
As with any alteration in settings, we recommend monitoring the improvements in performance, especially with older hardware or software. Keep in mind that if the application requires a smaller packet size, it will simply negotiate that lower value automatically. Meaning: If your application was developed to explicitly specify a desired packet size during the connection process, you have nothing to lose by trying. If the application fails to connect, revert the changes above.
Increasing the network packet size will benefit your network even if you are not running our SQL Server Connection Acceleration Software, so we recommend making the change right away. The reality is that the transmission of each individual packet carries baggage fees that result in latency, so decreasing the amount of packets needed (by increasing the packet size) will result in a benefit to overall performance.
But, here is the trick: Increasing the packet size on the server side only increases the max allowed. You will need to also check the client side.
This configuration varies depending on the client technology or library being used. For example:
- In ODBC (Open Database Connectivity) or OLE DB connections, the packet size can be configured through connection string parameters or driver-specific settings.
- In ADO.NET, you can set the “Packet Size” property in the connection string.
- In SQL Server Management Studio (SSMS), you can configure the packet size in the connection properties.
These network improvement tips will alleviate network performance issues by adding more data to each packet that moves across your connections. If you are looking to improve the advantage provided by an additional 2-12x, we recommend taking a look at our endpoint-based acceleration software, NitroAccelerator. Much like the packet size increase advice above, the solution will improve query and application performance. It is free to use for 14 days and does not require a server restart to begin testing.
“Nitrosphere’s software solution is simple, but highly effective.” – Gluesoft