With Azure's accelerated networking feature, you can greatly reduce latency and improve the performance of virtual machines.
In this blog, I'll briefly describe what accelerated networking is and how it improves performance based on testing I've conducted.
What is accelerated networking?
If you are not familiar with accelerated networking, there is a good overview, here. "Enabling accelerated networking enables single root I/O virtualization (SR-IOV). SR-IOV enables network traffic to bypass the software switch layer of the Hyper-V virtualization stack." I see this as off-loading, "By moving much of Azure's software-defined networking stack off the CPUs and into FPGA-based SmartNICs, compute cycles are reclaimed by end user applications, putting less load on the VM, decreasing jitter and inconsistency in latency."
A picture tells 1000 words.
(Source: Microsoft.com)
Testing methodology
- Deploy two Linux virtual machines (used Bicep for repeatability)
- Install sockperf (used cloud-init to automate install)
- Test latency with sockperf before enabling accelerated networking
- Test latency with sockperf after enabling accelerated networking (by redeploying bicep with accelerated networking enabled)