понедельник, 17 июня 2013 г.

KVM - ускорение работы сети.

Попытался для эксперимента запустить Linux-router в виртуальной машине KVM.

Хостовая машинка располагала двумя Intel Xeon E5-2630. К удивлению, при транзитном трафике сквозь такой роутер 6Мбит в одну сторону и совсем немножко в другую - процесс kvm на родительской машине съедал 25% CPU. А при трафике в пару сотен мегабит все становилось еще печальнее - порядка 170% и более.
Параметры сети передавались примерно такие:
-net nic,model=virtio,macaddr=xx:xx:xx:xx:xx:xx -net tap,ifname=tap0,script=kvm-if-up.sh
Оказалось, для эффективного использования сети и virtio нужно было подключить модуль vhost_net на хосте и в параметрах:
-netdev type=tap,id=guest0,script=kvm-if-up.sh,vhost=on -device virtio-net-pci,netdev=guest0,mac=xx:xx:xx:xx:xx:xx
 Офф.док.
Офф.док.2

Теперь при нагрузке около 800Мбит всего лишь около 100%.

Комментариев нет: