I have a box running Debian Jessie, I am using this as my core office server. It provides internet connectivity, routing, file server etc. Each of the core features I have (or am in the process of) moved into it's own Linux container.

The box has 4 Ethernet interfaces, 1 on-board and 3 provided by Intel E1000 interfaces. I have 2 bridges set-up on the core host OS, br0 contains 3 interfaces and acts as a switch for other devices (desktop PC, printer etc), whereas the 4ths interface exists in br1 by itself. This interface is separated off as it connects directly to my Fibre modem, it is accessed by a container which is running pppoe and acting as the office router. I have placed this within an LXC so if it should ever become compromised it's not the core host OS, hopefully limiting exposure and damage.

The problem I am experiencing is that over time the throughput of the bridges seems to dwindle. From a fresh boot of the system I can achieve 80Mbs throughput pretty much constantly. Over time this dwindles down to 7Mbps.

I know it is not my broadband provider or connections, stopping and restarting the router LXC results in a connection around 7Mbps, connecting the ethernet from my fibre modem to a laptop and running pppoe via that yields the 80 Mbps, back to linux box and 7Mbps.

I have also tried adding another port over to br1 and running my laptop through the bridge, again this yields a low speed, direct without the linux bridge and I get the full 80Mbps.

The drop in speed seems to take some time (days) to manifest. I am suspecting that there is some buffer or tunable in the linux kernel which is becoming saturated perhaps? The only way I have so far found to restore speed is to actually reboot the Linux host itself.

I am seeing no error counters above 0 on the ethernet ports via ifconfig also

Any ideas of where I should look for possible issues?

Thanks in advance, any further info required or clarification please ask.

  • What happens if you ifdown/ifup the interfaces? – JdeHaan Nov 23 '16 at 16:43
  • Unfortunately (?) it's not currently misbehaving so I cannot test right now. But from memory IIRC it had no effect. Relying on my memory here which I accept isn't the best source of data :) I will attempt and report back when it occurs again, thanks – Graeme Nov 23 '16 at 17:11
  • I would start with bringing them all down. At a next opportunity, depending on the results, I would do individual interfaces. – JdeHaan Nov 23 '16 at 17:32
  • What do you mean by "you would do individual interfaces"? as in bring interfaces down and back up one at a time? – Graeme Nov 23 '16 at 18:56
  • Correct. It could be that the e1000 driver is the cause, or the bridging software or any other part. Narrow down to the troublesome part by elimination. – JdeHaan Nov 23 '16 at 19:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.