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/秒