Acceptance Criteria
The OVS+DPDK solution provides flexible virtual networks and powerful forwarding performance for cloud applications. Based on OVS+DPDK, OVS flow table normalization further accelerates network forwarding. This document describes how to test the performance of OVS flow table normalization.
Design a typical OVS VM network for cloud scenarios, establish a virtual network environment, and test the forwarding performance of the network.
The OVS flow table normalization performance test focuses on the forwarding performance. That is, a forwarding core should always be in the process of processing data packets instead of polling. In this case, observe the processing performance of the forwarding core (PMD). Generally, two indicators are included: packet rate and bandwidth. In addition, pay attention to the impact of the number of PMDs on the overall forwarding performance. Use one PMD to test the performance of a single forwarding core, and use the test result as the baseline data to evaluate the performance improvement proportion of a single core. Increase the number of PMDs, and pay attention to the forwarding performance linearity with the increase of cores and saved CPU resources when the forwarding performance (packet rate/bandwidth) remains the same. Host 1 functions as the client, and Host 2 functions as the server. Such an end-to-end path contains five potential bottlenecks:
- Packet sending capability of client VMs
- Processing capability of client forwarding cores
- Processing capability of server forwarding cores
- Packet receiving capability of server VMs
- NIC bottleneck
The OVS flow table normalization feature focuses on the forwarding performance. In this test, add VMs to control the bottleneck within the processing performance of the forwarding core.
- For the packet rate:
Generally, small UDP packets are used for testing. The RX packet rate is the focus. In the test, if the packet sending rate of the client VM is greater than the packet receiving rate of the server VM, and the PMD usage is close to 100%, it can be inferred that the bottleneck lies in the processing performance of the server forwarding core. In this case, the packet receiving rate of the server VM may represent the performance of the server forwarding core.
- For bandwidth:
Generally, large TCP packets are used for testing. Due to the characteristics of TCP, the sending bandwidth of the client is always equal to the receiving bandwidth of the server. Therefore, it is meaningless to compare the sending bandwidth with the receiving bandwidth. Similar to the packet rate, if the PMD usage of the server is close to 100%, it can be inferred that the forwarding performance of the server has reached the limit. In this case, the bandwidth data may represent the performance of the server forwarding core.
CPU overclocking may occur on the x86 platform. Therefore, during the test, pay attention to and record the CPU usage and running efficiency of the forwarding core.
