thru
1.0.0
Сначала создайте пару FIFO в /var/lib/test
с помощью сценария setup_fifo.sh
:
you@host:~/src/thru # ./setup_fifo.sh
Убедитесь, что модуль ядра vsock
загружен:
you@host:~/src/thru # modprobe vsock
Затем запустите гостевую систему, указав vsock cid и выставив пару FIFO как virtserialport:
you@host:~/src/thru # qemu-system-x86_64 -name Guest2 --uuid 7edfdf4a-cb9e-11e8-b38a-173b58342476 -m 4096 -boot d -enable-kvm -smp 3 -net nic -net user -hda $HOME/vm/guest2.img -fsdev local,id=host,path=$HOME,security_model=mapped -device virtio-9p-pci,fsdev=хост,mount_tag=хост -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -chardev Pipe,id=charchannel1,path=/var/lib/test/fifo0 -device virtserialport,bus=virtio-serial0.0,nr=3,chardev=charchannel1,id=channel1,name=fifo0 -device vhost-vsock-pci,id=vhost-vsock-pci0,guest-cid=3
Чтобы измерить пропускную способность vsock от гостя к хосту, запустите ./thru vsock-listen
на хосте:
you@host:~/src/thru # ./thru vsock-listen местный CID: 2
а затем запустите ./thru vsock
на госте:
you@guest:~/src/thru # ./thru vsock -n 1000000 местный CID: 3 965,652985 МБ/с
Чтобы измерить пропускную способность от хоста к гостю, запустите ./thru vsock-listen
на госте:
you@guest:~/src/thru # ./thru vsock-listen местный CID: 3
а затем запустите ./thru vsock
на хосте:
you@host:~/src/thru # ./thru vsock -c 3 -n 1000000 местный CID: 2 1183,508784 МБ/с
Аналогично для FIFO, TCP и UDP, например:
you@host:~/src/thru$ ./thru fifo-listen you@guest:~/src/thru$ ./thru fifo -n 1000000 3440,153267 МБ/с