I thought you might be interested in this email from the KVM mailing list. I have verified the results on a Ubuntu guest with ethtool and offloading is not being used, and as a result my ethernet performance is about 35% slower than native.
Not sure what userspace you are using, but you are probably not getting
any of the useful offload features set. Checking "ethtool -k $ETH"
in the guest will verify that.
Try changing this:
-net nic,macaddr=52:54:00:35:11:f1,vlan=0,model=virtio,name=virtio.0 \
-net tap,fd=51,vlan=0,name=tap.0
to use newer syntax:
-netdev type=tap,id=netdev0
-device virtio-net-pci,mac=52:54:00:35:11:f1,netdev=netdev0
With just a 1Gb link, you should see line rate from guest via virtio.
thanks,
-chris