# NIC Multi-Queue

The Network Interface Cards (NICs) Multi-Queue feature enhances the network performance of [<mark style="color:blue;">Dedicated Core Servers</mark>](https://docs.ionos.com/cloud/compute-services/compute-engine/dedicated-core) and [<mark style="color:blue;">vCPU Servers</mark>](https://docs.ionos.com/cloud/compute-services/compute-engine/vcpu-server) by associating multiple queues with a VM based on the number of cores. It enables the VM to distribute network traffic across multiple queues, which improves throughput and reduces latency, particularly during high-traffic periods. By utilizing multiple CPU cores to process network packets, NIC Multi-Queue efficiently handles network Input or Output (I/O) and prevents bottlenecks commonly found in single-queue NICs. This feature benefits applications that require high network bandwidth and low latency, such as databases, analytics platforms, and high-performance computing workloads.

NIC Multi-Queue is available in all supported data centers. It is off by default; to use this feature, you must turn it on for each VM using the [<mark style="color:blue;">DCD</mark>](https://docs.ionos.com/cloud/network-services/vdc-networking/nic-multi-queue/how-tos/create-nic-multi-queue) or [<mark style="color:blue;">IONOS Cloud API</mark>](https://docs.ionos.com/cloud/network-services/vdc-networking/nic-multi-queue/api-how-tos/create-nic-multi-queue) for [<mark style="color:blue;">Dedicated Core Servers</mark>](https://docs.ionos.com/cloud/compute-services/compute-engine/how-tos/set-up-dedicated-core) and [<mark style="color:blue;">vCPU Servers</mark>](https://docs.ionos.com/cloud/compute-services/compute-engine/how-tos/set-up-vcpu).

## System requirements

The feature is supported on any VM configuration that meets the two-thread minimum, regardless of core count or processor architecture. A minimum of two CPU threads can be provided by:

* Multiple CPU cores.
* Hyper-threading on single-core systems. Examples:
  * A VM with one Intel Xeon core (providing two threads via hyper-threading) meets the minimum requirement for NIC Multi-Queue.
  * Certain CPU families, such as Intel Sierra Forest, do not support hyperthreads, and therefore require two cores to enable this feature.

## Features

* **Automatic VM Restart:** Enabling NIC Multi-Queue `nicMultiQueue: true` triggers an automatic [<mark style="color:blue;">Virtual Machine (VM)</mark>](https://docs.ionos.com/cloud/support/general-information/glossary-of-terms#virtual-machine-vm) restart to apply the configuration changes.
* **Hot-Plug NIC Support:** You can add network interfaces to a running VM without system restart or downtime. The number of queues per NIC will be equivalent to the number of core threads.
* **Scaling Queue Count:** Adding CPU cores requires a VM restart to update the queue count and leverage increased parallelism:
  * Restart the VM using the [<mark style="color:blue;">Cloud API</mark>](https://api.ionos.com/docs/cloud/v6/#tag/Servers) or the [<mark style="color:blue;">Data Center Designer (DCD)</mark>](https://docs.ionos.com/cloud/set-up-ionos-cloud/data-center-designer).
  * An Operating System (OS)-level restart is insufficient and will not update the queue configuration. Queue count changes require a platform-initiated restart to reload the NIC driver with the updated configuration.
* The following Configuration Management Tools support NIC Multi-Queue:
  * [<mark style="color:blue;">Crossplane Provider</mark>](https://docs.ionos.com/crossplane-provider/api/compute-engine/server)
  * [<mark style="color:blue;">Docker Driver</mark>](https://docs.ionos.com/docker-machine-driver-1)
  * [<mark style="color:blue;">IonosCTL</mark>](https://docs.ionos.com/cli-ionosctl/subcommands/compute-engine/server/create)
  * [<mark style="color:blue;">Terraform</mark>](https://docs.ionos.com/terraform-provider/resources/server)
  * [<mark style="color:blue;">Ansible</mark>](https://docs.ionos.com/ansible/api/compute-engine/modules/server)

## Quick Links

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Enable NIC Multi-Queue</strong></mark></td><td>Enable NIC Multi-Queue for your VMs.</td><td><a href="nic-multi-queue/enable-nic-multi-queue">enable-nic-multi-queue</a></td></tr><tr><td><mark style="color:blue;"><strong>How-Tos</strong></mark></td><td>Enable or toggle the NIC Multi-Queue property for your VMs using the DCD.</td><td><a href="nic-multi-queue/how-tos">how-tos</a></td></tr><tr><td><mark style="color:blue;"><strong>API How-Tos</strong></mark></td><td>Create NIC Multi-Queue enabled VMs or toggle its state using the API.</td><td><a href="nic-multi-queue/api-how-tos">api-how-tos</a></td></tr></tbody></table>

## Developer Tools

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>IONOS Cloud API</strong></mark></td><td>Access the REST API documentation for VMs.</td><td><a href="https://api.ionos.com/docs/cloud/v6/#tag/Servers">https://api.ionos.com/docs/cloud/v6/#tag/Servers</a></td></tr><tr><td><mark style="color:blue;"><strong>SDKs</strong></mark></td><td>Interact with the API using SDKs.</td><td><a href="https://docs.ionos.com/cloud/reference/software-development-kits/sdks">https://docs.ionos.com/cloud/reference/software-development-kits/sdks</a></td></tr><tr><td><mark style="color:blue;"><strong>Config Management Tools</strong></mark></td><td>Explore configuration management tools compatible with NIC for VMs.</td><td><a href="https://docs.ionos.com/cloud/reference/config-management-tools/config-management-tools">https://docs.ionos.com/cloud/reference/config-management-tools/config-management-tools</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ionos.com/cloud/network-services/vdc-networking/nic-multi-queue.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
