Introduction
Docker Container Architecture
Docker uses the client-server architecture, as shown in Figure 1. The Docker client communicates with the Docker daemon, which is responsible for building, running, and distributing Docker containers. The Docker client and Docker daemon can run in the same system. You can also connect the Docker client to a remote Docker daemon. The Docker client and Docker daemon communicate with each other by using REST APIs, UNIX sockets, or network interfaces.
Tuning Process Flow
This document describes how to adjust the hardware parameters, OS, and Docker container settings on a Kunpeng server to achieve optimal Docker container performance.
Figure 2 shows the process of performance tuning on the Docker virtualization platform.
Top N Tuning Items
The following table lists the most frequently used tuning items that affect or improve the Docker container performance. You can select proper tuning items based on your requirements to achieve optimal performance.
Tuning Item |
Description |
Application Scenario |
Remarks |
|---|---|---|---|
BIOS |
Set the memory refresh rate to Auto. |
For commercial use |
Change the memory refresh rate to Auto to improve memory bandwidth performance. |
|
Ensure that the CPUs and memory bound to a Docker container are in the same physical node to prevent cross-die and cross-chip memory access. |
For commercial use |
Significantly improves Docker container computing performance. |
CPU binding |
Bind each Docker vCPU to a CPU. |
For commercial use |
- |
Bind Docker vCPUs to CPUs in a CPU cluster. |
For POC tests only |
Significantly improves Docker container computing performance. |
|
NIC interrupt affinity |
Bind each interrupt to the CPU of the NUMA node where the physical NIC is located. |
For commercial use |
- |


