Configuring NIC Multi-Queue for BMS Nodes in the CCE Turbo Shared Resource Pool
BMS nodes allow you to configure the number of NIC queues and guaranteed bandwidth. Therefore, the pre-binding policy of BMS nodes is different from that of ECSs. Currently, NIC multi-queue can be configured only at node level for BMSs, and no global default configuration is provided.
NIC multi-queue can ensure QoS of network I/O bandwidth. The NIC multi-queue driver binds each queue to different cores through interrupts to resolve the single-core CPU processing bottlenecks when the network I/O bandwidth increases, improving bandwidth performance and handling more network PPS. When the network PPS and network bandwidth are the same, the network performance with two queues in use can be improved by 50% to 100% compared with that with just one queue (as tested), and the performance with four queues will be much greater.
Fixed Queue
This policy pre-binds ENIs for a fixed number of queues to a node. When creating a node or node pool, you can add the nicMultiqueue and nicThreshold fields to extendParam to configure ENI pre-binding for BMS nodes. In the following example, only one queue is configured in nicMultiqueue.
For details about how to call APIs, see Creating a Node Pool.
"extendParam": {
"nicMultiqueue": "[{\"queue\":4}]",
"nicThreshold": "0.3:0.6"
} - queue indicates the number of ENI queues.
- Supported proportions are {"1":128, "2":92, "4":92, "8":32, "16":16, "28":9}. That is, there is one queue, a maximum of 128 ENIs can be bound. If there are two queues, a maximum of 92 ENIs can be bound.
- A larger number of ENI queues indicates higher performance but fewer ENIs can be bound. The queue settings cannot be changed after the node pool is created.
- The first decimal place indicates the low threshold. Formula: Minimum number of pre-bound ENIs = Min (128 x Low threshold, Maximum number of ENIs that can be bound to the queue)
- The second decimal place indicates the high threshold. Formula: Maximum number of pre-bound ENIs = Min (128 x High threshold, Maximum number of ENIs that can be bound to the queue)
- The high and low thresholds of the number of pre-bound ENIs are restricted by the maximum number of ENIs that can be bound to a queue.
- ENIs bound to a BMS node = Number of ENIs currently used by pods + Number of pre-bound ENIs
- CCE keeps binding ENIs to a BMS node to ensure that the minimum number of ENIs is always reached. (Min. pre-bound ENIs ≤ Number of pre-bound ENIs + Number of ENIs currently used by pods)
- At every 2 minutes, CCE releases ENIs pre-bound to a BMS node to ensure that the maximum number of ENIs will not be exceeded. (Max. pre-bound ENIs ≥ Number of pre-bound ENIs + Number of ENIs currently used by pods)
- Both the thresholds are one-decimal-place values ranging from 0.0 to 1.0. The low threshold must be smaller than or equal to the high one.
- This field can be configured only for BMS nodes in a CCE Turbo cluster.
- Pre-binding ENIs can speed up workload creation but occupies IP addresses.
Changing the NIC Multi-Queue Configuration
The NIC multi-queue configuration can be changed in either of the following ways based on whether the node belongs to a node pool:
- If yes, change the configurations of the node pool.
- If not, change the configurations in the packageVersion CRD of the node.
- Method 1: Changing the node pool configurations
Log in to the the CCE console and access the cluster details page. In the navigation pane, choose Nodes. On the Node Pool tab page, choose More > Manage in the row where the target node pool resides. On the page that is displayed, select eni and change the value of nicThreshold.
Currently, you can only modify the ENI pre-binding ratio of a node pool. The number of ENI queues cannot be changed. To do so, submit a service ticket.
- Method 2: Changing the node configurations
- After the modification, check whether the value of eni-warm-policy in node.annotations is the same as modified.

Last Article: Adding a Second Data Disk to a Node in a CCE Cluster
Next Article: Node Pools


Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.