This does not answer your question, either, but there are more details
on OpenVPN performance optimization here:

<https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux>

Increasing the MTU helps as it reduces the number of user<->kernel-space
switches.

-- 
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock

Il 05/01/2018 01:52, Tom Kunz ha scritto:
> That would explain it if it always worked that way.
> But I can get 400%+ wire speed from A to B with compressible data, and
> 102% with incompressible data.  If I do the same test from B to A or A
> to B, I get those results.  If I hop off of that to C, speed goes from
>>1Gbps to sub-200Mbps.  In either case, the data has left the kernel
> space to arrive at "nc", so just simply saying "it's kernel vs user"
> doesn't answer it.
> 
> 
> On 01/04/2018 06:37 PM, Greg Sloop <gr...@sloop.net> wrote:
>> I'm sure someone else, or a Google search will get you a more detailed
>> run-down - but the gist of the "problem" is this;
>>
>> OpenVPN is run in user-space, not kernel space. IPSec  runs in kernel
>> space, and the difference is vastly diminished throughput.
>>
>> HTH
>>
>> -Greg
>>
>> On Jan 4, 2018 3:23 PM, "Tom Kunz" <tk...@solidrocktechnologies.com
>> <mailto:tk...@solidrocktechnologies.com>> wrote:
>>
>>     Hi,
>>
>>     I have been testing OVPN 2.4.4 vs StrongSwan IPSec, to be used as
>>     transport, and I have found something that I think might be a
>>     performance issue.  I have 3 linux boxes, A, B, and C.  All interfaces
>>     are 1Gbps.  Each has an interface to the next one downstream:
>>
>>     A - eth0=10.10.10.10/24 <http://10.10.10.10/24> and
>>     eth1=172.16.0.10/24 <http://172.16.0.10/24>
>>
>>     B - eth0=172.16.0.11/24 <http://172.16.0.11/24> and
>>     eth1=172.30.0.11/24 <http://172.30.0.11/24>
>>
>>     C - eth0=172.30.0.10/24 <http://172.30.0.10/24> and
>>     eth1=192.168.168.10/24 <http://192.168.168.10/24>
>>
>>     Packets route as usual through this with no encryption, and throughput
>>     from A to C is at wire speed.  With IPSec between A&B, from
>>     172.16.0.10-172.16.0.11, I can still get wire speed from A to C. 
>>     Then I
>>     turn off IPSec, and I setup A as the server and B as the client, with
>>     A's config being:
>>
>>     =====
>>
>>     dev tun
>>
>>     topology subnet
>>     server 172.17.0.0 255.255.255.0
>>     port 1194
>>     proto udp
>>     dh /etc/openvpn/keys/dh2048.pem
>>     ca /etc/openvpn/keys/ca.crt
>>     cert /etc/openvpn/keys/server.crt
>>     key /etc/openvpn/keys/server.key
>>     verb 3
>>     keepalive 10 45
>>     cipher aes-256-cbc
>>     comp-lzo
>>
>>     tun-mtu 50000
>>
>>     mssfix 0
>>
>>     fragment 0
>>
>>     client-config-dir ccd
>>
>>     push "route 10.10.10.0 255.255.255.0"
>>
>>     =====
>>
>>     and the client B config file is
>>
>>     =====
>>
>>     verb 3
>>     client
>>     cipher AES-256-CBC
>>     comp-lzo
>>     tun-mtu 50000
>>     mssfix 0
>>     fragment 0
>>     remote 172.16.0.10  1194
>>
>>     dev tun
>>     redirect-private local
>>     tls-client
>>
>>     ca /etc/openvpn/keys/ca.crt
>>     cert /etc/openvpn/keys/client1.crt
>>     key /etc/openvpn/keys/client1.key
>>
>>     =====
>>
>>     and I setup static routes on each side so that traffic is going
>>     through
>>     the tunnel from A to C and vice versa.
>>
>>     I can pass traffic over this link, however when I do tests for
>>     speed, I
>>     am only getting about 200Mbps instead of 1Gbps.
>>
>>     The funny thing is, I know that each of these machines can easily do
>>     1Gbps.  If I do my performance test from A to B, over the above ovpn
>>     configs, I can get just over 1Gbps because of the MTU overhead being
>>     removed. But as soon as I have it make the leap downstream once
>>     more, I
>>     lose 80+% of the speed.  And again, both non-encrypted traffic and
>>     IPSec
>>     do the exact same test at wire speed or just slightly under wire
>>     speed.
>>
>>     The way I do a speed test is on A:
>>
>>     # nc -l -p 5555 > /dev/null
>>
>>     and over on C:
>>
>>     # dd if=/dev/urandom of=blob.random.1G bs=10M count=100
>>
>>     # time cat blob.random.1G | nc 10.10.10.10 5555
>>
>>     tcpdumps over each interface confirm traffic is flowing in the
>>     expected
>>     fashion.
>>
>>     Over unencrypted or IPSec, I am looking at about 4s to move 1G of data
>>     from one end to the other, and with ovpn, 15-22s.  The machines
>>     involved
>>     are 2 Dell R720's with 8+G ram and a homebrew machine with several
>>     Xeons
>>     and 32G RAM.  Network cards involved are a mix of BCM Tigon3 "tg3"
>>     driver and IGB driver gigabit NICs.
>>
>>     Anyone have any suggestions or thoughts as to why the big perf
>>     decrease
>>     and what might be done to improve it?
>>
>>     Thanks, 
>>
>>     Tom
>>
>>
>>
>>
>>     
>> ------------------------------------------------------------------------------
>>     Check out the vibrant tech community on one of the world's most
>>     engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>     _______________________________________________
>>     Openvpn-devel mailing list
>>     Openvpn-devel@lists.sourceforge.net
>>     <mailto:Openvpn-devel@lists.sourceforge.net>
>>     https://lists.sourceforge.net/lists/listinfo/openvpn-devel
>>     <https://lists.sourceforge.net/lists/listinfo/openvpn-devel>
>>
> 
> 
> 
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> 
> 
> 
> _______________________________________________
> Openvpn-devel mailing list
> Openvpn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openvpn-devel
> 


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to