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 を指定してゲストを起動し、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 パイプ,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 MB/秒
ホストからゲストへのスループットを測定するには、ゲスト上で./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 MB/秒
FIFO、TCP、UDP についても同様です。例:
you@host:~/src/thru$ ./thru fifo-listen you@guest:~/src/thru$ ./thru fifo -n 1000000 3440.153267 MB/秒