First off, how does the Receive Windows Auto-Tuning work? This feature basically lets Windows monitor the routing conditions in your network. Conditions can be things such as application delay, network delay or actual bandwidth. This allows connections to be configured by Windows thus scaling the TCP receive window to take advantage of your network performance.
This seems like it could be a great feature. Here’s the catch. If the Receive Windows Auto-Tuning feature is enabled for your HTTP traffic, some older firewalls, routers or even older operating systems may cause a slow data transfer — even if the devices are beyond your organizations, WAN, LAN or network. Microsoft notes that this issue (latency) will remain.
So how can you disable this feature? Open a command prompt as an administrator. Type the following in the open window:
netsh interface tcp set global autotuninglevel=disabled
Reboot your computer
Link – Although this says Vista, disabling Autotuning may improve performance – even on Windows 7
There are dozens of tips on the web from MTU size to tweaking network card or wireless router alternate firmware. What isn’t covered a lot is DNS queries. DNS or Domain Name Services is used when you type the ‘friendly’ name (url) into your address bar of your browser. The friendly name goes out onto the worldwide web to your ISPs DNS servers where it is changed to an IP address and routing then takes place.
How can you improve this? Here’s some ideas. When programming your router, you can statically define the DNS servers in your router and disable DNS Relay. This will cause the dhcp leases to contain the hard coded ip addresses of the DNS servers you typed in instead of the router’s ip address (leaving DNS relay on, your router will act as the go between). With several combinations, which is best?
If your router has a SPI firewall, the impact of this is that the stateful-packet-inspection (SPI) table will have to track additional DNS(Port:53) streams as each individual device (tablet, computer, smartphone, smart TV) makes its unique request (websites typed into the address bar) directly to the DNS servers on the Internet.
You can program your router with several options. Here are a few combinations.
DNS Relay on Your router
DNS Servers entered into the
Computers receive fixed local DNS server number. Your router can immediately proxy dns queries and you can travel directly to your site. Use your router’s IP as the first DNS address and a public DNS as the secondary. Fastest
DNS servers (secondary) could change (rare) and become out of date
Computers receive fixed local DNS server. Router receives update-to-date DNS entries.
Some small delay in querying a website
Computers receive fixed DNS servers.
DNS queries are now part of your standard traffic and are inspected by the SPI engine. Can be slower.
Computers receive your ISP’s update-to-date dns server entries if known.
Request pass through to outside DNS servers and can be slower
If you need to check your DNS entries after you save your router’s settings, in Windows, go to a command prompt and type ipconfig /all. Running Linux? Type ifconfig to get your IP address or cat /etc/resolv.conf to get your ip address and dns information after you program and reboot your router.
ICSI Netalyzer is an excellent online tool that measures over 100 areas of your internet connectivity. Use this to troubleshoot your internet connectivity. Hosted by the University of Berkeley, this online tool is a must have when optimizing your network. http://netalyzr.icsi.berkeley.edu/
NANO Project – “NANO identifies performance degradations that result from network neutrality violation by an Internet service provider (ISP), such as, differential treatment of specific classes of applications, users, or destinations by the ISP.” http://www.gtnoise.net/nano/ (Currently available for Linux only – Windows coming soon)
HostView -“HostView is an end-host measuring tool to collect network performance data annotated with users’ perceived quality of the network. Traces collected with HostView will be invaluable for us to design algorithms that automatically diagnose performance problems in individual applications as perceived by end-users. (Currently for Mac) http://cmon.lip6.fr/EMD/Download.html
Almost everyone is familiar with testing their internet for speed. With sites such as Testmy.net, a true internet speed test and Speedtest.net, you can see how fast your internet is (download and upload speeds) performing.
But what about quality? Here’s a site that will test your ping response time and jitter. Pingtest.net
Look at your results. Does the packet need to be fragmented? Try lowering the size of the packet in increments of 8 to 10) until you have a packet size that does not fragment.
Once the packets are not fragmented, begin increasing the packet size from the number you find in small increments until you find the largest size that does not fragment. You will need to add 28 to that number for IP/ICMP headers to get the optimal MTU setting.
If you get 1410 as the largest packet size, add 28 to that number and 1438 would be your optimal MTU setting.