thru
1.0.0
首先,使用setup_fifo.sh
脚本在/var/lib/test
中创建一个 FIFO 对:
you@host:~/src/thru # ./setup_fifo.sh
确保vsock
内核模块已加载:
you@host:~/src/thru # modprobe vsock
然后启动指定 vsock cid 的 guest 虚拟机并将 FIFO 对公开为 virtserialport:
you@host:~/src/thru # qemu-system-x86_64 -名称 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 =主机,path = $ HOME,security_model =映射 -设备 virtio-9p-pci,fsdev=主机,mount_tag=主机 -设备 virtio-serial-pci,id=virtio-serial0,总线=pci.0,addr=0x6 -chardev 管道,id=charchannel1,路径=/var/lib/test/fifo0 -设备 virtserialport,总线=virtio-serial0.0,nr=3,chardev=charchannel1,id=channel1,name=fifo0 -设备 vhost-vsock-pci,id=vhost-vsock-pci0,guest-cid=3
要测量从来宾到主机的 vsock 吞吐量,请在主机上启动./thru vsock-listen
:
you@host:~/src/thru # ./thru vsock-listen 本地来电显示:2
然后在来宾上运行./thru vsock
:
you@guest:~/src/thru # ./thru vsock -n 1000000 本地来电显示:3 965.652985 MB/秒
要测量从主机到客户机的吞吐量,请在客户机上启动./thru vsock-listen
:
you@guest:~/src/thru # ./thru vsock-listen 本地来电显示:3
然后在主机上运行./thru vsock
:
you@host:~/src/thru # ./thru vsock -c 3 -n 1000000 本地来电显示:2 1183.508784 MB/秒
对于 FIFO、TCP 和 UDP 也是如此,例如:
you@host:~/src/thru$ ./thru fifo-listen 你@guest:~/src/thru$ ./thru fifo -n 1000000 3440.153267 MB/秒