I manage three Ubuntu servers running latest LTS, all up 2 date.
The two first are behind a fast fiber networks, with a bridge interface (for containers) Both have an OPNsense router running in libvirt using a dedicated interface via PCI passthrough
The third is hosted by my ISP on a fast network, also with a bridge interface for containers.
ALL THREE servers upload speed is topping at 3 to 4 Mbit/s only! The OPNsense routers can upload at full speed. If I plug a device directly on the modem (WAN), I get the full speed too.
So I suspect that it is related to the network bridges.
Server 1:
/etc/network/interfaces
auto br0
iface br0 inet static
address 10.0.4.4
netmask 255.255.254.0
network 10.0.4.0
broadcast 10.0.5.255
# gateway 10.0.4.1
dns-nameserver 10.0.4.1
bridge_ports enp3s0
bridge_stp on
bridge_maxwait 0
Interface speed
# ethtool enp3s0 | grep Speed
Speed: 1000Mb/s
ip a
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/ether 60:a4:4c:cb:4f:5d brd ff:ff:ff:ff:ff:ff
inet6 fe80::62a4:4cff:fecb:4f5d/64 scope link
valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 0a:91:86:76:2e:08 brd ff:ff:ff:ff:ff:ff
inet 10.0.4.4/23 brd 10.0.5.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::891:86ff:fe76:2e08/64 scope link
valid_lft forever preferred_lft forever
Server 2:
/etc/netplan/01-netcfg.yaml
bridges:
br0:
dhcp4: no
dhcp6: no
addresses:
- 10.0.14.2/24
gateway4: 10.0.14.1
nameservers:
addresses:
- 10.0.14.6
interfaces:
- eno1
Interface speed
# ethtool eno1 | grep Speed
Speed: 1000Mb/s
Server 3:
/etc/netplan/01-netcfg.yaml
network:
ethernets:
eno1:
dhcp4: false
dhcp6: false
eno2:
dhcp4: false
dhcp6: false
optional: true
enp0s20f0u1u6:
dhcp4: true
dhcp6: false
optional: true
bridges:
br0:
dhcp4: false
dhcp6: false
addresses:
- [redacted]/24
- [redacted]/64
gateway4: [redacted]
gateway6: [redacted]
nameservers:
addresses:
- 1.1.1.1
- 1.0.0.1
- 8.8.8.8
- 8.8.8.4
- 2606:4700:4700::1111
- 2606:4700:4700::1001
- 2001:4860:4860::8888
- 2001:4860:4860::8844
interfaces:
- eno1
parameters:
stp: false
forward-delay: 0
version: 2
Interface speed
# ethtool eno1 | grep Speed
Speed: 1000Mb/s
Typical servers speed tests:
Ping: 2.987 ms
Download: 279.34 Mbit/s
Upload: 4.10 Mbit/s
Speedtest from a computer plugged into the fiber router OR behind the OPNsense routers
Ping: 2.939 ms
Download: 283.25 Mbit/s
Upload: 180.77 Mbit/s
What I am doing wrong ?
This is related to the fact that the
speedtest-cli
deb package from the Ubuntu's repositories for, at least, Ubuntu 18.04, has an issue that makes it show those poor upload results.I installed the pip3 version and it now shows more realistic results: