Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a router (ASUS WL-500G Premium running a modded Tomato) that has a 100mbps ethernet interface + wifi interface. I added a D-Link 8-port gigabit switch (DGS-1008G) because I want faster transfer speeds between my ethernet-connected PCs.

Disconnecting all devices but one from the router, that one device gets a maximum sustained download speed of ~5.5MB/s. If I place the gigabit switch between the router and the device, that device now achieves no more than ~4.9MB/s.

I understand that introducing a switch will increase the latency, but I'm surprised to find it affecting my throughput negatively as well. If I connect more than one device to the switch, between each other they have the expected gigabit transfer speeds. This speed reduction happens regardless of whether jumbo packets (9KB) are enabled or not on that device. A CAT 6A cable is between the gigabit switch and the device, a CAT 5E cable is between the switch and the router. The router itself is the gateway for the network (cable internet connection).

How and why am I seeing this drop in speed?


Did some latency testing. Odd results.. Since it's a local network, the default ping utility is of no use (< 1ms each time in both cases). Obviously that means any additional latency is negligible and cannot possible be the reason for a 5mbps drop in throughput. However, using a high-resolution ping utility, I find the latency between the device and the router to be consistently lower when going through the gigabit switch than without it (~0.55ms compared to ~0.8ms on average). Obvious conclusion is that latency is not the issue, though I could of course be wrong.

share|improve this question
How is the router connected to the switch? Is the router connected to the uplink port on the switch? – Dan D. May 20 '12 at 3:57
@Dan The switch doesn't have an uplink port, both devices are auto MDI/MDX, so any random port from either is fine. – Mahmoud Al-Qudsi May 20 '12 at 4:44
What operating system are you running on the machines? Windows XP may need to be tuned for faster networks. – Mokubai May 20 '12 at 9:37
@Mokubai Windows 7. But that can't be the issue since it works "fast enough" when plugged directly into the 100mbps network. – Mahmoud Al-Qudsi May 20 '12 at 16:49
This is an old Q, and I don't have full understanding of the dynamic myself, but could it be a problem with Jumbo frames needing to be fragmented in order to match a smaller MTU? – horatio Mar 21 '13 at 20:50

When connecting devices of mismatched speeds, there's an issue of buffer over-runs, as the switch is receiving data faster than it can move onto the router's port. The performance drop ought to go away if you force all ports down to 100Mbit/sec. Flow-Control, if available to you, may help, or hinder.

share|improve this answer

Throughput degradation is not surprising when latency is increased. You may think if I add even 1 second of delay I should get all those packets after one second and my throughout should not be affected, but it is not correct. Congestion control algorithms in place (like the one in TCP) throttle down the transmission speed to cope with the latency introduced in the network. Routers and switches do not have unlimited buffers. When their buffers are full, TCP decreases transmission speed.

share|improve this answer
I've updated my post with actual latency results. This does not seem to be the case. I also don't think it's a buffer issue as neither router nor switch should be a bottleneck in this case. – Mahmoud Al-Qudsi May 20 '12 at 4:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .