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. 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.
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> 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. >
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. >> > > > . >
Reasonably Related Threads
- [RFC] VSOCK: The performance problem of vhost_vsock.
- [PATCH 0/5] VSOCK: support mergeable rx buffer in vhost-vsock
- [PATCH 0/5] VSOCK: support mergeable rx buffer in vhost-vsock
- [PATCH 0/5] VSOCK: support mergeable rx buffer in vhost-vsock
- [PATCH 0/5] VSOCK: support mergeable rx buffer in vhost-vsock