Skip to content

Commit c8cb928

Browse files
committed
Bug 1787281, Added Optimizing networking section
1 parent 5ff6e00 commit c8cb928

File tree

4 files changed

+68
-0
lines changed

4 files changed

+68
-0
lines changed

_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1555,6 +1555,8 @@ Topics:
15551555
File: optimizing-storage
15561556
- Name: Optimizing routing
15571557
File: routing-optimization
1558+
- Name: Optimizing networking
1559+
File: optimizing-networking
15581560
- Name: What huge pages do and how they are consumed by apps
15591561
File: what-huge-pages-do-and-how-they-are-consumed-by-apps
15601562
- Name: Performance Addon Operator for low latency nodes
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * scalability_and_performance/optimizing-networking.adoc
4+
5+
[id="ipsec-impact_{context}"]
6+
= Impact of IPsec
7+
8+
Because encrypting and decrypting node hosts uses CPU power, performance is affected both in throughput and CPU usage on the nodes when encryption is enabled, regardless of the IP security system being used.
9+
10+
IPSec encrypts traffic at the IP payload level, before it hits the NIC, protecting fields that would otherwise be used for NIC offloading. This means that some NIC acceleration features might not be usable when IPSec is enabled and will lead to decreased throughput and increased CPU usage.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * scalability_and_performance/optimizing-networking.adoc
4+
5+
[id="optimizing-mtu_{context}"]
6+
= Optimizing the MTU for your network
7+
8+
There are two important maximum transmission units (MTUs): the network interface card (NIC) MTU and the cluster network MTU.
9+
10+
The NIC MTU is only configured at the time of {product-title} installation. The MTU must be less than or equal to the maximum supported value of the NIC of your network. If you are optimizing for throughput, choose the largest possible value. If you are optimizing for lowest latency, choose a lower value.
11+
12+
The SDN overlay's MTU must be less than the NIC MTU by 50 bytes at a minimum. This accounts for the SDN overlay header. So, on a normal ethernet network, set this to `1450`. On a jumbo frame ethernet network, set this to `8950`.
13+
14+
For OVN and Geneve, the MTU must be less than the NIC MTU by 100 bytes at a minimum.
15+
16+
[NOTE]
17+
====
18+
This 50 byte overlay header is relevant to the OpenShift SDN. Other SDN solutions might require the value to be more or less.
19+
====
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
[id="optimizing-networking"]
2+
= Optimizing networking
3+
include::modules/common-attributes.adoc[]
4+
:context: optimizing-networking
5+
6+
toc::[]
7+
8+
The xref:../networking/openshift_sdn/about-openshift-sdn.adoc#about-openshift-sdn[OpenShift SDN] uses OpenvSwitch, virtual extensible LAN (VXLAN) tunnels, OpenFlow rules, and iptables. This network can be tuned by using jumbo frames, network interface cards (NIC) offloads, multi-queue, and ethtool settings.
9+
10+
xref:../networking/ovn_kubernetes_network_provider/about-ovn-kubernetes.adoc#about-ovn-kubernetes[OVN-Kubernetes] uses Geneve (Generic Network Virtualization Encapsulation) instead of VXLAN as the tunnel protocol.
11+
12+
VXLAN provides benefits over VLANs, such as an increase in networks from 4096 to over 16 million, and layer 2 connectivity across physical networks. This allows for all pods behind a service to communicate with each other, even if they are running on different systems.
13+
14+
VXLAN encapsulates all tunneled traffic in user datagram protocol (UDP) packets. However, this leads to increased CPU utilization. Both these outer- and
15+
inner-packets are subject to normal checksumming rules to guarantee data is not corrupted during transit. Depending on CPU performance, this additional
16+
processing overhead can cause a reduction in throughput and increased latency when compared to traditional, non-overlay networks.
17+
18+
Cloud, VM, and bare metal CPU performance can be capable of handling much more than one Gbps network throughput. When using higher bandwidth links such as 10 or 40 Gbps, reduced performance can occur. This is a known issue in VXLAN-based environments and is not specific to containers or {product-title}. Any network that relies on VXLAN tunnels will perform similarly because of the VXLAN implementation.
19+
20+
If you are looking to push beyond one Gbps, you can:
21+
22+
* Evaluate network plug-ins that implement different routing techniques, such as border gateway protocol (BGP).
23+
* Use VXLAN-offload capable network adapters. VXLAN-offload moves the packet checksum calculation and associated CPU overhead off of the system CPU and onto dedicated hardware on the network adapter. This frees up CPU cycles for use by pods and applications, and allows users to utilize the full bandwidth of their network infrastructure.
24+
25+
VXLAN-offload does not reduce latency. However, CPU utilization is reduced even in latency tests.
26+
27+
include::modules/optimizing-mtu-networking.adoc[leveloffset=+1]
28+
29+
include::modules/recommended-install-practices.adoc[leveloffset=+1]
30+
31+
include::modules/ipsec-impact-networking.adoc[leveloffset=+1]
32+
33+
.Additional resources
34+
35+
* xref:../installing/installing_aws/installing-aws-network-customizations.adoc#modifying-nwoperator-config-startup_installing-aws-network-customizations[Modifying advanced network configuration parameters]
36+
* xref:../networking/cluster-network-operator.adoc#nw-operator-configuration-parameters-for-ovn-sdn_cluster-network-operator[Configuration parameters for the OVN-Kubernetes default CNI network provider]
37+
* xref:../networking/cluster-network-operator.adoc#nw-operator-configuration-parameters-for-openshift-sdn_cluster-network-operator[Configuration parameters for the OpenShift SDN default CNI network provider]

0 commit comments

Comments
 (0)