Hi Tony, Thanks for looking into this. First of all let me say that performance in general is still "work in progress".
ovpn-dco is currently undergoing a big restructuring in order to introduce multi-peer support (right now it can only handle one connection). Therefore I will be back investigating performance only after that. This said, I'd presume the difference comes from the two hosts being two very different machines. iperf is heavily affected by the capacity of the host to generate traffic. In any case, I'd wait for the restructuring to be done before digging any further. Cheers and thanks again for testing! On 20/11/2020 03:03, Tony He wrote: > Hi Antonio, > > I'm testing the performance of ovpn-dco. > > Topology: > > iperf client running in Ubuntu 20.04 VM with two cores(intel i7 6700) - > iperf server running Ubuntu 18.04 HP EliteBook with four cores(intel > i5-6300U). > tunnel IP 5.5.5.1 > tunnel IP 5.5.5.2 > > The issue I see is the TP is different in both directions. Is this > normal? I don't see this issue if using the host of VM and the TP is > very good > in both directions(~870Mbps).VM should be the bottleneck but I don't > understand why the TP is so much different in both direction. > > *1. main application data from Ubuntu 20.04 VM to Ubuntu 18.04* > tony-vm-2004% iperf3 -c 5.5.5.2 -t 15 > Connecting to host 5.5.5.2, port 5201 > [ 5] local 5.5.5.1 port 55342 connected to 5.5.5.2 port 5201 > [ ID] Interval Transfer Bitrate Retr Cwnd > [ 5] 0.00-1.00 sec 37.3 MBytes 313 Mbits/sec 0 427 KBytes > > [ 5] 1.00-2.00 sec 33.4 MBytes 280 Mbits/sec 0 427 KBytes > > [ 5] 2.00-3.00 sec 35.1 MBytes 294 Mbits/sec 0 427 KBytes > > [ 5] 3.00-4.00 sec 34.4 MBytes 289 Mbits/sec 0 457 KBytes > > [ 5] 4.00-5.00 sec 33.7 MBytes 283 Mbits/sec 0 457 KBytes > > [ 5] 5.00-6.00 sec 34.7 MBytes 291 Mbits/sec 0 457 KBytes > > [ 5] 6.00-7.00 sec 33.8 MBytes 284 Mbits/sec 0 457 KBytes > > [ 5] 7.00-8.00 sec 33.9 MBytes 285 Mbits/sec 0 457 KBytes > > [ 5] 8.00-9.00 sec 34.4 MBytes 288 Mbits/sec 0 457 KBytes > > [ 5] 9.00-10.00 sec 33.9 MBytes 284 Mbits/sec 0 457 KBytes > > [ 5] 10.00-11.00 sec 34.0 MBytes 285 Mbits/sec 0 457 KBytes > > [ 5] 11.00-12.00 sec 31.7 MBytes 266 Mbits/sec 0 457 KBytes > > [ 5] 12.00-13.00 sec 30.8 MBytes 259 Mbits/sec 0 457 KBytes > > [ 5] 13.00-14.00 sec 33.1 MBytes 278 Mbits/sec 0 911 KBytes > > [ 5] 14.00-15.00 sec 33.8 MBytes 283 Mbits/sec 0 911 KBytes > > - - - - - - - - - - - - - - - - - - - - - - - - - > [ ID] Interval Transfer Bitrate Retr > [ 5] 0.00-15.00 sec 508 MBytes 284 Mbits/sec 0 sender > [ 5] 0.00-15.00 sec 505 MBytes 282 Mbits/sec > receiver > > iperf Done. > > > top - 01:39:03 up 42 min, 2 users, load average: 0.62, 0.86, 0.70 > Tasks: 112 total, 5 running, 107 sleeping, 0 stopped, 0 zombie > %Cpu(s): 0.2 us, 29.5 sy, 0.0 ni, 49.0 id, 0.2 wa, 0.0 hi, 21.1 si, > 0.0 st > MiB Mem : 981.1 total, 461.4 free, 160.2 used, 359.4 buff/cache > MiB Swap: 0.0 total, 0.0 free, 0.0 used. 668.4 avail Mem > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ > COMMAND > 1841 root 20 0 0 0 0 R 35.0 0.0 2:51.58 > kworker/1:1+ovpn-crypto-wq-tun0 > 18 root 20 0 0 0 0 R 30.7 0.0 2:18.43 > ksoftirqd/1 > 1904 root 20 0 0 0 0 I 18.0 0.0 0:03.62 > kworker/1:2-ovpn-crypto-wq-tun0 > 1882 root 20 0 0 0 0 R 15.3 0.0 0:46.47 > kworker/1:0-ovpn-crypto-wq-tun0 > 1910 tony 20 0 5900 3156 2736 S 0.7 0.3 0:00.06 > iperf3 > > > tony-vm-2004% mpstat -P ALL 2 > > > Linux 5.4.0-54-generic (tony-vm-2004) 11/20/20 _x86_64_ > (2 CPU) > > > > > 01:51:05 CPU %usr %nice %sys %iowait %irq %soft %steal > %guest %gnice %idle > 01:51:07 all 0.00 0.00 30.71 0.00 0.00 20.64 0.00 > 0.00 0.00 48.65 > 01:51:07 0 0.00 0.00 0.00 0.00 0.00 4.35 0.00 > 0.00 0.00 95.65 > 01:51:07 1 0.00 0.00 62.50 0.00 0.00 37.50 0.00 > 0.00 0.00 0.00 > > 01:51:07 CPU %usr %nice %sys %iowait %irq %soft %steal > %guest %gnice %idle > 01:51:09 all 0.24 0.00 29.76 0.00 0.00 21.46 0.00 > 0.00 0.00 48.54 > 01:51:09 0 0.48 0.00 0.48 0.00 0.00 4.31 0.00 > 0.00 0.00 94.74 > 01:51:09 1 0.00 0.00 60.20 0.00 0.00 39.30 0.00 > 0.00 0.00 0.50 > > *2. main application data from Ubuntu 18.04 to Ubuntu 20.04 VM (using > option "-R" of iperf3) * > tony-vm-2004% iperf3 -c 5.5.5.2 -t 15 -R > Connecting to host 5.5.5.2, port 5201 > Reverse mode, remote host 5.5.5.2 is sending > [ 5] local 5.5.5.1 port 55354 connected to 5.5.5.2 port 5201 > [ ID] Interval Transfer Bitrate > [ 5] 0.00-1.00 sec 56.7 MBytes 476 Mbits/sec > [ 5] 1.00-2.00 sec 65.6 MBytes 551 Mbits/sec > [ 5] 2.00-3.00 sec 68.1 MBytes 572 Mbits/sec > [ 5] 3.00-4.00 sec 72.8 MBytes 611 Mbits/sec > [ 5] 4.00-5.00 sec 67.3 MBytes 564 Mbits/sec > [ 5] 5.00-6.00 sec 82.0 MBytes 688 Mbits/sec > [ 5] 6.00-7.00 sec 88.0 MBytes 738 Mbits/sec > [ 5] 7.00-8.00 sec 92.1 MBytes 773 Mbits/sec > [ 5] 8.00-9.00 sec 94.7 MBytes 794 Mbits/sec > [ 5] 9.00-10.00 sec 98.4 MBytes 826 Mbits/sec > [ 5] 10.00-11.00 sec 93.0 MBytes 780 Mbits/sec > [ 5] 11.00-12.00 sec 92.1 MBytes 773 Mbits/sec > [ 5] 12.00-13.00 sec 90.8 MBytes 762 Mbits/sec > [ 5] 13.00-14.00 sec 95.0 MBytes 797 Mbits/sec > [ 5] 14.00-15.00 sec 96.0 MBytes 806 Mbits/sec > - - - - - - - - - - - - - - - - - - - - - - - - - > [ ID] Interval Transfer Bitrate Retr > [ 5] 0.00-15.00 sec 1.23 GBytes 703 Mbits/sec 891 sender > [ 5] 0.00-15.00 sec 1.22 GBytes 701 Mbits/sec > receiver > > iperf Done. > top - 01:54:15 up 57 min, 2 users, load average: 0.39, 0.19, 0.31 > > > Tasks: 111 total, 3 running, 108 sleeping, 0 stopped, 0 zombie > > > %Cpu(s): 0.7 us, 25.7 sy, 0.0 ni, 40.0 id, 0.0 wa, 0.0 hi, 33.6 si, > 0.0 st > > MiB Mem : 981.1 total, 459.2 free, 162.5 used, 359.4 > buff/cache > > MiB Swap: 0.0 total, 0.0 free, 0.0 used. 666.2 avail > Mem > > > > > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ > COMMAND > > 1904 root 20 0 0 0 0 I 82.7 0.0 0:18.91 > kworker/1:2-ovpn-crypto-wq-tun0 > > 1676 root 20 0 0 0 0 I 17.0 0.0 0:15.25 > kworker/0:0-events > > 18 root 20 0 0 0 0 S 3.0 0.0 2:25.88 > ksoftirqd/1 > > 1923 root 20 0 0 0 0 I 1.0 0.0 0:06.81 > kworker/1:3-ovpn-crypto-wq-tun0 > > 1924 root 20 0 0 0 0 I 0.7 0.0 0:00.39 > kworker/0:1-ata_sff * > * > > > tony-vm-2004% mpstat -P ALL 2 > > > Linux 5.4.0-54-generic (tony-vm-2004) 11/20/20 _x86_64_ > (2 CPU) > > > > > 01:56:07 CPU %usr %nice %sys %iowait %irq %soft %steal > %guest %gnice %idle > 01:56:09 all 0.53 0.00 28.04 0.00 0.00 28.31 0.00 > 0.00 0.00 43.12 > 01:56:09 0 1.12 0.00 6.18 0.00 0.00 1.12 0.00 > 0.00 0.00 91.57 > 01:56:09 1 0.00 0.00 47.50 0.00 0.00 52.50 0.00 > 0.00 0.00 0.00 > > 01:56:09 CPU %usr %nice %sys %iowait %irq %soft %steal > %guest %gnice %idle > 01:56:11 all 0.53 0.00 25.66 0.26 0.00 32.28 0.00 > 0.00 0.00 41.27 > 01:56:11 0 1.12 0.00 8.43 0.56 0.00 2.81 0.00 > 0.00 0.00 87.08 > 01:56:11 1 0.00 0.00 41.00 0.00 0.00 58.50 0.00 > 0.00 0.00 0.50 > > > Tony > > > _______________________________________________ > Openvpn-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/openvpn-devel > -- Antonio Quartulli _______________________________________________ Openvpn-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openvpn-devel
