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.