documentation:examples:openvpn_performance_lab_of_an_ibm_system_x3550_m3_with_intel_82580
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
| — | documentation:examples:openvpn_performance_lab_of_an_ibm_system_x3550_m3_with_intel_82580 [2017/01/23 00:10] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== OpenVPN performance lab of an IBM System x3550 M3 with Intel 82580 ====== | ||
| + | {{description> | ||
| + | ===== Hardware detail ===== | ||
| + | |||
| + | This lab will test an [[IBM System x3550 M3]] with **quad** cores (Intel Xeon L5630 2.13GHz, hyper-threading disabled) and a quad NIC 82580 connected to the PCI-Express Bus. | ||
| + | |||
| + | This CPU includes AES-NI: AES-CBC, | ||
| + | ===== Method used ===== | ||
| + | |||
| + | The benchmarking method used here is detailed in [[documentation: | ||
| + | |||
| + | ==== Diagram ==== | ||
| + | |||
| + | < | ||
| + | +---------------------+ | ||
| + | | R1 | ||
| + | | | ||
| + | | and receiver | ||
| + | | | ||
| + | |igb2: 198.18.0.201/ | ||
| + | | | ||
| + | | 00: | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | |igb3: 198.19.0.201/ | ||
| + | |2001: | ||
| + | | | ||
| + | +---------------------+ | ||
| + | || || | ||
| + | ==================================< | ||
| + | </ | ||
| + | |||
| + | ===== Devices configuration ===== | ||
| + | |||
| + | Almost the same as on the forwarding performance lab but with fastforwarding disabled (not compatible with IPsec). | ||
| + | |||
| + | |||
| + | ==== R2 (DUT) ==== | ||
| + | |||
| + | Disable fastforwarding (not compliant with IPSec), configure IP address, routes and static IPSec. | ||
| + | |||
| + | / | ||
| + | < | ||
| + | # IPv4 router | ||
| + | gateway_enable=" | ||
| + | ifconfig_igb2=" | ||
| + | ifconfig_igb3=" | ||
| + | # Route toward receiver will be pushed by OpenVPN client | ||
| + | static_routes=" | ||
| + | route_generator=" | ||
| + | static_arp_pairs=" | ||
| + | static_arp_generator=" | ||
| + | static_arp_receiver=" | ||
| + | |||
| + | # IPv6 router | ||
| + | ipv6_gateway_enable=" | ||
| + | ipv6_activate_all_interfaces=" | ||
| + | ifconfig_igb2_ipv6=" | ||
| + | ifconfig_igb3_ipv6=" | ||
| + | ipv6_static_routes=" | ||
| + | ipv6_route_generator=" | ||
| + | static_ndp_pairs=" | ||
| + | static_ndp_generator=" | ||
| + | static_ndp_receiver=" | ||
| + | |||
| + | # Enabling OpenVPN | ||
| + | openvpn_enable=" | ||
| + | |||
| + | # Enabling AES-NI | ||
| + | kld_list=" | ||
| + | </ | ||
| + | |||
| + | / | ||
| + | |||
| + | < | ||
| + | client | ||
| + | dev tun | ||
| + | remote 198.18.1.203 | ||
| + | ca ca.crt | ||
| + | cert client.crt | ||
| + | key client.key | ||
| + | ncp-disable | ||
| + | cipher AES-128-GCM | ||
| + | engine cryptodev | ||
| + | fast-io | ||
| + | </ | ||
| + | |||
| + | ==== R3 (reference) ==== | ||
| + | |||
| + | Disable fastforwarding (not compliant with IPSec), configure IP address, routes and static IPSec: | ||
| + | < | ||
| + | # IPv4 router | ||
| + | gateway_enable=" | ||
| + | ifconfig_igb2=" | ||
| + | ifconfig_igb3=" | ||
| + | |||
| + | # routes toward generator will be installed by OpenVPN | ||
| + | static_routes=" | ||
| + | route_receiver=" | ||
| + | static_arp_pairs=" | ||
| + | static_arp_generator=" | ||
| + | static_arp_receiver=" | ||
| + | |||
| + | # IPv6 router | ||
| + | ipv6_gateway_enable=" | ||
| + | ipv6_activate_all_interfaces=" | ||
| + | ifconfig_igb2_ipv6=" | ||
| + | ifconfig_igb3_ipv6=" | ||
| + | |||
| + | ipv6_static_routes=" | ||
| + | ipv6_route_receiver=" | ||
| + | static_ndp_pairs=" | ||
| + | static_ndp_generator=" | ||
| + | static_ndp_receiver=" | ||
| + | |||
| + | # Enabling OpenVPN | ||
| + | kld_list=" | ||
| + | openvpn_enable=" | ||
| + | </ | ||
| + | |||
| + | / | ||
| + | |||
| + | < | ||
| + | dev tun | ||
| + | ca / | ||
| + | cert / | ||
| + | key / | ||
| + | dh / | ||
| + | server 172.16.254.0 255.255.255.0 | ||
| + | server-ipv6 2001: | ||
| + | ncp-disable | ||
| + | cipher AES-128-GCM | ||
| + | engine cryptodev | ||
| + | ifconfig-pool-persist ipp.txt | ||
| + | client-config-dir ccd | ||
| + | push "route 198.19.0.0 255.255.0.0" | ||
| + | push " | ||
| + | route 198.18.0.0 255.255.0.0 | ||
| + | route-ipv6 2001:2::/49 | ||
| + | keepalive 60 720 | ||
| + | fast-io | ||
| + | </ | ||
| + | |||
| + | ===== Equilibrium throughput benchmark methodology ===== | ||
| + | |||
| + | Once done, we start using a fast method for measuring the " | ||
| + | |||
| + | From the packet generator/ | ||
| + | < | ||
| + | [root@R1]/ | ||
| + | Benchmark tool using equilibrium throughput method | ||
| + | - Benchmark mode: Bandwitdh (bps) for VPN gateway | ||
| + | - UDP load = 500B, IPv4 packet size=528B, Ethernet frame size=542B | ||
| + | - Link rate = 1000 Mb/s | ||
| + | - Tolerance = 0.001 | ||
| + | Iteration 1 | ||
| + | - Offering load = 500 Mb/s | ||
| + | - Step = 250 Mb/s | ||
| + | - Measured forwarding rate = 500 Mb/s | ||
| + | Iteration 2 | ||
| + | - Offering load = 750 Mb/s | ||
| + | - Step = 250 Mb/s | ||
| + | - Trend = increasing | ||
| + | - Measured forwarding rate = 539 Mb/s | ||
| + | Iteration 3 | ||
| + | - Offering load = 625 Mb/s | ||
| + | - Step = 125 Mb/s | ||
| + | - Trend = decreasing | ||
| + | - Measured forwarding rate = 543 Mb/s | ||
| + | Iteration 4 | ||
| + | - Offering load = 563 Mb/s | ||
| + | - Step = 62 Mb/s | ||
| + | - Trend = decreasing | ||
| + | - Measured forwarding rate = 545 Mb/s | ||
| + | Iteration 5 | ||
| + | - Offering load = 532 Mb/s | ||
| + | - Step = 31 Mb/s | ||
| + | - Trend = decreasing | ||
| + | - Measured forwarding rate = 532 Mb/s | ||
| + | Iteration 6 | ||
| + | - Offering load = 547 Mb/s | ||
| + | - Step = 15 Mb/s | ||
| + | - Trend = increasing | ||
| + | - Measured forwarding rate = 545 Mb/s | ||
| + | Iteration 7 | ||
| + | - Offering load = 540 Mb/s | ||
| + | - Step = 7 Mb/s | ||
| + | - Trend = decreasing | ||
| + | - Measured forwarding rate = 540 Mb/s | ||
| + | Iteration 8 | ||
| + | - Offering load = 543 Mb/s | ||
| + | - Step = 3 Mb/s | ||
| + | - Trend = increasing | ||
| + | - Measured forwarding rate = 543 Mb/s | ||
| + | Iteration 9 | ||
| + | - Offering load = 544 Mb/s | ||
| + | - Step = 1 Mb/s | ||
| + | - Trend = increasing | ||
| + | - Measured forwarding rate = 543 Mb/s | ||
| + | Estimated Equilibrium Ethernet throughput= 543 Mb/s (maximum value seen: 545 Mb/s) | ||
| + | </ | ||
| + | |||
| + | => OpenVPN (userspace) reach about 454Mb/s which is about half IPSec performance (kernel space) | ||
| + | |||
| + | ==== Encryption algorithms ==== | ||
| + | |||
| + | {{documentation: | ||
documentation/examples/openvpn_performance_lab_of_an_ibm_system_x3550_m3_with_intel_82580.txt · Last modified: 2017/01/23 00:10 by 127.0.0.1
