On 2018/10/15 14:12, jiangyiwen wrote: > On 2018/10/15 10:33, Jason Wang wrote: >> >> >> On 2018年10月15日 09:43, jiangyiwen wrote: >>> Hi Stefan & All: >>> >>> Now I find vhost-vsock has two performance problems even if it >>> is not designed for performance. >>> >>> First, I think vhost-vsock should faster than vhost-net because it >>> is no TCP/IP stack, but the real test result vhost-net is 5~10 >>> times than vhost-vsock, currently I am looking for the reason. >> >> TCP/IP is not a must for vhost-net. >> >> How do you test and compare the performance? >> >> Thanks >> > > I test the performance used my test tool, like follows: > > Server Client > socket() > bind() > listen() > > socket(AF_VSOCK) or socket(AF_INET) > Accept() <-------------->connect() > *======Start Record Time======* > Call syscall sendfile() > Recv() > Send end > Receive end > Send(file_size) > Recv(file_size) > *======End Record Time======* > > The test result, vhost-vsock is about 500MB/s, and vhost-net is about 2500MB/s. > > By the way, vhost-net use single queue. > > Thanks. > >>> Second, vhost-vsock only supports two vqs(tx and rx), that means >>> if multiple sockets in the guest will use the same vq to transmit >>> the message and get the response. So if there are multiple applications >>> in the guest, we should support "Multiqueue" feature for Virtio-vsock. >>> >>> Stefan, have you encountered these problems? >>> >>> Thanks, >>> Yiwen. >>> >> >> >> . >> > > Hi Jason and Stefan, Maybe I find the reason of bad performance. I found pkt_len is limited to VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE(4K), it will cause the bandwidth is limited to 500~600MB/s. And once I increase to 64k, it can improve about 3 times(~1500MB/s). By the way, I send to 64K in application once, and I don't use sg_init_one and rewrite function to packet sg list because pkt_len include multiple pages. Thanks, Yiwen. > _______________________________________________ > Virtualization mailing list > Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx > https://lists.linuxfoundation.org/mailman/listinfo/virtualization > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization