1 of 1 people found this helpful
Virtualized Ethernet performance under a Linux based OS has historically been slow. There is simply a great deal of overhead in the architecture of the networking. On top of that, 64B packets are going to result in the lowest throughput and the highest CPU utilization simply by it's nature.
Our testing in a virtualized environment, for 64B packets is around 2.6 Gbps Tx, at over 20% CPU Utilization, and on the RX side is only around 0.3 Gbps.
Virtualization technologies such as SR-IOV and VMDq can significantly improve this performance, however vanilla Ethernet virtualization in a XEN or KVM environment remains pretty poor. This is due to the virtualization of the Ethernet as opposed to the Ethernet devices themselves.
It has been a while since I personally dug into this area, but I do recall quite a number of articles discussing this very problem several years ago.
Hope this helps,