Networking – Poor TCP performance over single connection, but not over multiple

networkingperformancetcpip

On two separate Dell machines, I seem to be having an annoying performance problem when downloading over a single connection. The one I've just tested this all on is a Dell Dimension 3000, XP SP3, P4 2.8GHz, 512MB RAM.

We have a 16 Mbps internet connection, to which all computers connect via WPA Personal-secured wifi.
Running a speed test at www.mybroadbandspeed.co.uk indicates a very consistent download speed of ~4900 kbps, from multiple tests over the past week. Never any higher, barely any lower. This happens on both Dells. Firefox 3.5 in all cases. Same result in IE7.
My MacBook on the same network, on its first attempt got 10900 kbps and stays around that level.

However, I went and found a popular torrent on LegalTorrents and started it off on the Dell. It attained a reliable 1+ Mbps download speed (8200 kbps)!

I then tried to use BBC iPlayer to watch a HD stream; straight away it started buffering and gave a warning message that a 3.5 Mbps connection is required. The same show works fine on my MacBook on the same network.

Multiple wifi cards have been tried on the Dell, to no effect. 54 Mbps connection speed to the router is shown with "Excellent" signal.

So it appears the Dells are happy when making multiple TCP connections (BitTorrent), but not a single one (iPlayer, speed test)?

Any ideas about what I can do to fix this?

Update:
I have updated the drivers to the latest I could find on the Dell site (was only a minor update; couldn't find any OEM drivers) but still the problem persists. I didn't see anything odd in the driver settings either; power-saving settings were disabled, and the card happily runs at 802.11g speeds.

As I mention above, this seems to be independent of the wireless card being used (whether Dell USB, or a PCI card I put in the machine).

Are there any networking settings in XP that are worth examining, or utilities that I could run?

Update 2:
On Goyuix's suggestion, I tried running the same speed test on the same Dell PC, but using a Ubuntu 9.10 live CD. So I booted into Ubuntu where all the WLAN hardware worked straight away, then I installed Flash and tried the speed test. Got ~11900 kbps download speed.

Rebooted into the usual XP install, made sure there were no extraneous processes running, and with the same test got the usual ~4700 kbps. Tried disabling Windows Firewall to no effect.

Solution:
As per fluxtendu's answer, I tried the TCP Optimizer software, where I backed up my existing networky/registry settings using the File menu option, then set my desired speed to 16000 kbps, and chose the "Optimal settings" option.

Applying these settings vastly increases the TCP window size and sets the optimal MTU, amongst other networking-related registry keys. You are then prompted for a reboot.

On both Dells, I ran the speed test once again and found that I now got the same performance as my MacBook — in fact slightly faster on one of the machines, attaining over 12000 kbps.

Solved!

Best Answer

You could try these command-line:

netsh int ip reset [log_file_name]
reset the TCP/IP stack = reset/rewrite the following TCP/IP-related registry keys:

  • SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
  • SYSTEM\CurrentControlSet\Services\DHCP\Parameters\

(you may need to re-configure your TCP/IP settings after that)

netsh winsock reset
repair winsock It removes all Winsock LSP (Layered Service Providers) previously installed, including the potential malfunctioned LSP that causes loss of network packets transmission failure. So all previously-installed LSPs (antivirus/firewall) may need to be reinstalled

netsh interface reset all
reset all interfaces: 6to4, HTTPSTunnel, ipv4, ipv6, isatap, portproxy, tcp, teredo but I don't know exactly what you risk to do it

netsh references

And you could also try the speddguide.net tcp-optimizer but backup your config before applying changes, and RTFM.

Related Question