windows - Single machine within Subnet Has One Tenth network speed
2014-07
I have an issue regarding my network. One of the machines within the same subnet seems to have its download speed capped at 1 Mbps. Other machines within that subnet hit 11 Mbps or more. The machines are all within one subnet, and that subnet along with one other subnet are both connected to the modem/router which connects out to the internet. Virtustream is the provider.
The problem machine is Windows XP SP3, 32-bit. It has all its drivers updated, the cable has been replaced etc. The issue does not seem to be a physical NIC problem in any way I can deduce.
There is one DNS on each Subnet -> I can ping the machine which hosts the DNS with no problem whatsoever on any machine. Connections between other machines are good - though the problem machine has a lower acceptable packet size (Internet Explorer any packet larger than 30712 bytes does not send at all whatsoever, compared with 40 000 bytes or more on other machines).
(It should be noted that all the machines within this subnet are within one switch. There is a second switch with more machines, but they are not relevant). I am in the process of examining the switch, but unless it is the physical slot which that machine is in - there is no problem cross-machine within the same switch, or across switches (we can see and communicate with the machines across the other switch just fine). There are some issues with the amount of speed communicating across the subnets, but that is a separate issue I believe.
Also, this machine used to run just fine. While I had not been the one to examine it during initial installation, the user reports it ran much faster in the past. This development occurred very recently. I know changes have been made to the DHCP, but the machine, along with all others, show the correct address and the same IPCONFIG information in terms of DHCP, DNS, etc.
When remoting into other machines on the subnet, connection is incredibly slow, and the UI almost non responsive (I can watch it paint the screen in chunks). This is consistent for most machines I remote into. Some run a little better, but none run at acceptable levels.
What haven't I tried? Is it possible the NIC just up and died? What could I check before replacement of hardware begins?
Since ethernet speeds are multiples of 10, I immediately thought your NIC is running at a slower ethernet speed. I don't know a way to ask Windows what speed your NIC is running at, but often NICs have different LEDs to show which speed they're at. Otherwise, I'd start swapping hardware (switch port, cable, NIC).
I was recently setting up a new 1.5MB DSL connection at home. After connecting my computers (wirelessly) to my DSL modem I fired off a broadband speed tester to see if both were delivering the expected throughput. My WinXP box was delivering about 0.7MB while my WinVista box was delivered about 1.2MB. Clearly I had an issue localized to the WinXP box so I tweaked its network settings with TCP Optimizer. That made its speed comparable to my other machine, both at about 1.2MB.
Reflecting upon this I asked myself: how do I really know what my speed is? I decided to test further, applying 3 different speed testers using 2 different browsers on each of 2 machines and, for good measure, I repeated each test twice, yielding 24 data points (well, OK, 48 since there was upstream and downstream). The raw data appears below. Note that the data is sorted by provider then by speed (in Kbps) as the most useful order to see trends--they are not shown in the order of trials performed. Also note that I shutdown all other foreground apps and windows but did not meticulously check service activity so that could possibly account for some of the glitches.
Observations on downstream activity
- There are 3 outliers (2 from Speed.IO on the XP box only, and one on from AuditMyPC on Vista) and all 3 are on Firefox rather than IE8.
- The standard deviation is 244 when I include all data, but just 56 when I remove the 3 outliers.
- SpeedTest was remarkably consistent across browsers and OSes.
- Ignoring outliers, the averages per service are:
- SpeedTest = 1334
- Speed.IO = 1243
- AuditMyPc = 1217
Observations on upstream activity
- There are no true outliers but the scatter is much larger than downstream.
- The standard deviation is 264 including all data.
- SpeedTest and Speed.IO were remarkably consistent across browsers and OSes, while AuditMyPc had a wild ride (though faster than SpeedTest or Speed.IO in all cases).
- The averages per service are:
- SpeedTest = 428
- Speed.IO = 468
- AuditMyPc = 930
The question
I have some estimate of my connection speed (1270 Kpbs downstream, 600 Kpbs upstream). The downstream estimate is much more reliable based on standard deviations given above. My question is how does one get truer or more accurate estimates of connection speed? (Note I ask for truer rather than true--I am a pragmatist:-) Or to put it another way, how does one judge which numbers to believe?
The raw data
(2 machines x 2 browsers x 3 services x 2 trials x 2 directions)
Machine Browser Service Direction Speed
XP IE8 SpeedTest Downstream 1340
XP IE8 SpeedTest Downstream 1340
Vista IE8 SpeedTest Downstream 1340
XP FireFox SpeedTest Downstream 1330
Vista FireFox SpeedTest Downstream 1330
Vista IE8 SpeedTest Downstream 1330
XP FireFox SpeedTest Downstream 1330
Vista FireFox SpeedTest Downstream 1330
Vista IE8 Speed.IO Downstream 1264
Vista IE8 Speed.IO Downstream 1263
XP IE8 Speed.IO Downstream 1240
XP IE8 Speed.IO Downstream 1235
Vista FireFox Speed.IO Downstream 1231
Vista FireFox Speed.IO Downstream 1226
XP FireFox Speed.IO Downstream 630
XP FireFox Speed.IO Downstream 353
XP FireFox AuditMyPc Downstream 1242
XP FireFox AuditMyPc Downstream 1242
XP IE8 AuditMyPc Downstream 1240
Vista IE8 AuditMyPc Downstream 1208
Vista IE8 AuditMyPc Downstream 1202
Vista FireFox AuditMyPc Downstream 1200
XP IE8 AuditMyPc Downstream 1182
Vista FireFox AuditMyPc Downstream 780
XP FireFox SpeedTest Upstream 430
XP IE8 SpeedTest Upstream 430
Vista FireFox SpeedTest Upstream 430
Vista IE8 SpeedTest Upstream 430
XP FireFox SpeedTest Upstream 430
XP IE8 SpeedTest Upstream 430
Vista IE8 SpeedTest Upstream 430
Vista FireFox SpeedTest Upstream 410
Vista FireFox Speed.IO Upstream 473
Vista FireFox Speed.IO Upstream 472
Vista IE8 Speed.IO Upstream 471
XP FireFox Speed.IO Upstream 468
Vista IE8 Speed.IO Upstream 466
XP FireFox Speed.IO Upstream 465
XP IE8 Speed.IO Upstream 464
XP IE8 Speed.IO Upstream 461
Vista IE8 AuditMyPc Upstream 1191
XP FireFox AuditMyPc Upstream 1165
XP IE8 AuditMyPc Upstream 1074
XP IE8 AuditMyPc Upstream 1022
XP FireFox AuditMyPc Upstream 884
Vista IE8 AuditMyPc Upstream 851
Vista FireFox AuditMyPc Upstream 677
Vista FireFox AuditMyPc Upstream 574
Ciaran makes a good point in his comment; you have to know what the test is measuring, and this is not clear with a proprietary bandwidth tester.
Downloading a large file will give you a good idea of your TCP throughput, but this measurement will be very sensitive to your latency (Ping time) to the server, and may be affected by your TCP configuration settings (critically your TCP receive window).
Tools like IPerf and ixChariot are used by networking professionals , but these are not really suitable for casual use (IPerf does not work easily behind NAT for example). To gauge the ultimate capacity of your pipe you could flood your connection with a uni-directional stream of UDP datagrams using one of the above tools.
Online bandwidth tools use some tricks to try and push up the throughput beyond the performance of a single TCP connection. I find that speedtest.net generally gives you an average download speed ~30-40% higher than what you would measure by timing the download of a large file. I have confirmed this by timing downloads of the files used by speedtest itself.
Using Wireshark, I made the following observations;
- The speedtest client downloads two files simaultaneously while measuring bandwidth - this gives a slightly higher aggregate throughput than a single file
- The speedtest speedometer reports a high percentile (90-95%) of the per-second instantaneous throughputs - not the long term average
The speedtest GUI suggests that your download of an mp3 would proceed at the measured rate. This is slightly misleading as the measured rate is more representative of the peak throughput achievable on your link.
Another wrinkle that makes it even harder to find your 'true' speed...I know Comcast does this, not sure about other ISPs. Basically they give you 1.5-2x speed for the first 10-20MB of a download, before dropping you back down to your normal speed. Unfortunately most speed tests don't download more than 10MB, so it really messes with the results.
Personally I think the NDT speed testers are one of the most accurate ones, assuming they have a sever that is near to you. Another thing to add to your data points.
I would trust the speedtest.net results over the other ones. I've heard from the designer of the speedtest.net site that most other speed testers use faulty and inconsistent methods. He is of course a biased source, but the consistency of the speedtest.net results would also lead me to trust it more than your other sources.