Sharing DPDK Performance Insights on Azure
At Microsoft Azure, performance is treated as an ongoing discipline grounded in careful engineering and real-world validation. As cloud workloads grow in scale and variety, customers depend on consistent, high-throughput networking. Technologies such as the Data Plane Development Kit (DPDK) play a key role in meeting these expectations
To support customers running advanced network functions, we’ve released our latest performance report based on DPDK 25.11. It is now available in the DPDK performance catalog (Microsoft Azure DPDK Performance Report). The report provides a clear view of how DPDK performs on Microsoft-developed Azure Boost within Azure infrastructure, with detailed insights into packet processing across a range of scenarios, from small packet sizes to multi-core scaling.
Why We Test DPDK on Azure
DPDK is widely used for high-performance packet processing in virtualized environments. It powers a range of workloads from customer-deployed virtual network functions to internal Azure network appliances.
But simply enabling DPDK is not enough. To ensure optimal performance, we validate it under realistic conditions, including:
- Azure VM configurations with Accelerated Networking
- NUMA-aware memory and CPU alignment
- Hugepage-backed memory allocation
- Multi-core PMD thread scaling
- Packet forwarding using real traffic generators
This helps us understand how DPDK performs in actual cloud environments, not just idealized lab setups.
What the Report Covers
The DPDK 25.11 report includes performance benchmarks across different frame sizes, ranging from 64 bytes to 1518 bytes. It also evaluates CPU usage, queue configuration, and latency stability across various test conditions.
Key Report Highlights:
- Line-rate throughput is achievable at common frame sizes when vCPUs are pinned correctly and memory is properly configured
- Low jitter and consistent latency are observed across multi-queue and multi-core tests
- Performance scales nearly linearly with additional cores, especially for smaller packet sizes
- Queue and PMD thread alignment with the NUMA layout plays a critical role in maximizing efficiency
All tests were performed using Azure VM SKUs equipped with Microsoft NICs and configured for optimal isolation and performance.
Why We Shared This with the Community
Publishing this report reflects our commitment to open engineering and ecosystem collaboration. We believe performance transparency benefits everyone in the ecosystem, including developers, operators, and customers.
Here are a few reasons why we share:
- It helps customers plan and tune their workloads using validated performance envelopes
- It enables vendors and contributors to optimize drivers, firmware, and applications based on real-world data
- It encourages reproducibility and standardization in cloud DPDK benchmarking
- It creates a feedback loop between Azure, the DPDK community, and our partners
Our goal is not just to test internally but to foster open dialogue and measurable improvement across platforms.
Recommendations for Running DPDK on Azure
Based on the test results, we offer the following best practices for customers deploying DPDK-based applications:
| Area | Recommendation |
|---|---|
| VM Selection | Choose Accelerated Networking-enabled SKUs like D, Fsv2, or Eav4 |
| CPU Pinning | Use dedicated cores for PMD threads and align with NUMA topology |
| Memory | Configure hugepages and allocate memory from the local NUMA node |
| Queue Mapping | Match RX and TX queues to available vCPUs to avoid contention |
| Packet Generator | Use pktgen-dpdk or testpmd with controlled traffic profiles |
These settings can significantly improve consistency and peak throughput across many DPDK scenarios.
Get Involved and Reproduce the Results
We invite you to read the full report and try the configurations in your own environment. Whether you are running a firewall, a router, or a telemetry appliance, DPDK on Azure offers scalable performance with the right tuning.
You can:
- Download the report at Microsoft Azure DPDK Performance Report
- Replicate the test setup using Azure VMs and your preferred packet generator github.com/mcgov/dpdk-perf
- Share your feedback with us through GitHub or community channels or send feedback dpdk@microsoft.com
- Suggest improvements or contribute new scenarios to future performance reports
Conclusion
DPDK is a powerful enabler of high-performance networking in the cloud. With this report, we aim to make Azure performance data open, useful, and actionable. It reflects our ongoing investment in validating and improving the underlying infrastructure that supports mission-critical workloads.
We thank the DPDK community for ongoing collaboration. We look forward to continued engagement as we scale performance transparency in cloud-native environments.