Veth openvz vs virtio kvm. Which is a faster one?

GospodinAbdula

New Member
Jul 25, 2014
22
0
1
Hello!

I have to implement a very hight load network router on a virtual machine and i have some doubts about which is a VM i need to use.

I'd like to use openvz, but i don't know who the best in network perfomance kvm virtio or veth openvz?

Can you advice me?
 
Last edited:
i did iperf test on 1GB link:

openvz veth:
Code:
# uname -a
Linux 2.6.32-37-pve #1 SMP Wed Feb 11 10:00:27 CET 2015 x86_64 x86_64 x86_64 GNU/Linux
.....
[SUM]  0.0-30.1 sec  3.24 GBytes  925 Mbits/sec
.....
[SUM]  0.0-30.1 sec  3.23 GBytes  923 Mbits/sec
.....
[SUM]  0.0- 2.5 sec  274 MBytes  927 Mbits/sec
....

kvm virtio:
Code:
# uname -a
Linux 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
.....
[SUM]  0.0-30.1 sec  3.13 GBytes  893 Mbits/sec
.....
[SUM]  0.0-30.1 sec  3.13 GBytes  893 Mbits/sec
.....
[SUM]  0.0-30.1 sec  3.16 GBytes  903 Mbits/sec
.....
 
And some ICMP tests:

OPENVZ VETH:
simple icmp:

Code:
root@serv1:~# ping -q -s 1 -f 192.168.110.173 -c 100000
PING 192.168.110.173 (192.168.110.173) 1(29) bytes of data.
--- 192.168.110.173 ping statistics ---
100000 packets transmitted, 100000 received, 0% packet loss, time 52435ms
ipg/ewma 0.524/0.000 ms

root@serv1:~# ping -q -s 1 -f 192.168.110.173 -c 100000
PING 192.168.110.173 (192.168.110.173) 1(29) bytes of data.
--- 192.168.110.173 ping statistics ---
100000 packets transmitted, 100000 received, 0% packet loss, time 52158ms
ipg/ewma 0.521/0.000 ms

root@serv1:~# ping -q -s 1 -f 192.168.110.173 -c 100000
PING 192.168.110.173 (192.168.110.173) 1(29) bytes of data.
--- 192.168.110.173 ping statistics ---
100000 packets transmitted, 100000 received, 0% packet loss, time 52515ms
ipg/ewma 0.525/0.000 ms

100000 / 52.4 = 1908 pps
100000 / 52.1 = 1919 pps
100000 / 52.5 = 1904 pps


bombard icmp:
Code:
root@serv1:~# time hping3 192.168.110.173 -q -i u15 --icmp | tail -n10
--- 192.168.110.173 hping statistic ---
502960 packets transmitted, 501933 packets received, 1% packet loss
round-trip min/avg/max = 0.4/0.6/9.9 ms

real   0m13.881s
user   0m2.341s
sys   0m7.404s

root@serv1:~# time hping3 192.168.110.173 -q -i u15 --icmp | tail -n10
--- 192.168.110.173 hping statistic ---
259442 packets transmitted, 258817 packets received, 1% packet loss
round-trip min/avg/max = 0.4/0.6/9.5 ms

real   0m7.213s
user   0m1.203s
sys   0m3.816s

root@serv1:~# time hping3 192.168.110.173 -q -i u15 --icmp | tail -n10
--- 192.168.110.173 hping statistic ---
537561 packets transmitted, 536051 packets received, 1% packet loss
round-trip min/avg/max = 0.4/0.6/10.7 ms

real   0m14.963s
user   0m2.559s
sys   0m7.901s

501933 / 13.881 = 36159 pps
258817 / 7.213 = 35882 pps
536051 / 14.963 = 35825 pps


KVM VIRTIO:
simple icmp

Code:
root@serv1:~# ping -q -s 1 -f 192.168.110.172 -c 100000
PING 192.168.110.172 (192.168.110.172) 1(29) bytes of data.
--- 192.168.110.172 ping statistics ---
100000 packets transmitted, 100000 received, 0% packet loss, time 58349ms
ipg/ewma 0.583/0.000 ms

root@serv1:~# ping -q -s 1 -f 192.168.110.172 -c 100000
PING 192.168.110.172 (192.168.110.172) 1(29) bytes of data.
--- 192.168.110.172 ping statistics ---
100000 packets transmitted, 100000 received, 0% packet loss, time 58449ms
pipe 2, ipg/ewma 0.584/0.000 ms

root@serv1:~# ping -q -s 1 -f 192.168.110.172 -c 100000
PING 192.168.110.172 (192.168.110.172) 1(29) bytes of data.
--- 192.168.110.172 ping statistics ---
100000 packets transmitted, 100000 received, 0% packet loss, time 58488ms
ipg/ewma 0.584/0.000 ms

100000 / 58.4 = 1712
100000 / 58.3 = 1715
100000 / 58.4 = 1712


bombard icmp:
Code:
root@serv1:~# time hping3 192.168.110.172 -q -i u15 --icmp | tail -n10
--- 192.168.110.172 hping statistic ---
515753 packets transmitted, 513793 packets received, 1% packet loss
round-trip min/avg/max = 0.5/0.6/10.0 ms

real   0m14.182s
user   0m2.474s
sys   0m7.291s

root@serv1:~# time hping3 192.168.110.172 -q -i u15 --icmp | tail -n10
--- 192.168.110.172 hping statistic ---
276936 packets transmitted, 275911 packets received, 1% packet loss
round-trip min/avg/max = 0.4/0.6/11.3 ms

real   0m7.710s
user   0m1.355s
sys   0m4.035

root@serv1:~# time hping3 192.168.110.172 -q -i u15 --icmp | tail -n10
--- 192.168.110.172 hping statistic ---
566524 packets transmitted, 564043 packets received, 1% packet loss
round-trip min/avg/max = 0.4/0.6/10.0 ms

real   0m15.828s
user   0m3.084s
sys   0m7.839s

513793 / 14.182 = 36228 pps
275911 / 7.710 = 35786 pps
564043 / 15.828 = 35635 pps


I think, Openvz VETH is more performance than Virtio KVM.
All tests were on a clean system and without tuning the ip stack.
What do you think?
 
Last edited: