I have some qemu-kvm guests and a host system. Some of them are Debian
GNU/Linux 9, other are Debian GNU/Linux 8. All of them are amd64.
The host holds the only public IP address and it's a Debian 9 system.
The guests are behind NAT of the KVM network. One of the guests act as a
router and applies additional DNAT rules to packets based on the TCP
port, forwarding them to the correct guest.
Since a few days one of the guests (the mailserver) has a very low
transfer rate over the network, e.g. it takes minutes to download a 1MB
attachment.
top shows basically nothing, e.g. the load average is very close to zero
for both the mailserver and the host system.
Only thing I've noticed is that some of the guests have a very high
collisions count on their virtualized network interface (rtl8139
driver), while the collisions count on the host is 0 for all interfaces,
real and virtual.
The guests with high collisions count are those with Debian 9 / Linux
4.9 kernel. The three guests with Debian 8 / Linux 3.16 kernel have zero
collisions. The mailserver is a Debian 9 system.
A few days ago I changed the routing for all the guests and made the
default gateway to be the virtual router (see my other recent thread:
"firewall rules for NAT"). I'm not sure the two things are related, however.
I'm not even sure that collision count and low transfer rate are
related, maybe it's only the rtl8139 driver in the 4.9 kernel showing
some random figures when the network adapter is a virtual one.
What can I do to diagnose the cause of the problem?