Intel® Ethernet 700/800 Series

Windows Performance Tuning Guide

ID Date Version Classification
784543 02/06/2024 1.1 Public
Document Table of Contents

​Method 2 – Windows GUI

  1. ​Open Hyper-V Manager on your Windows Server.
  2. ​In the left pane, select the Hyper-V host server where the VMs are located.
  3. ​In the center pane, you'll see a list of VMs running on the selected host.
    1. ​Right-click on the VM and select Settings from the context menu to open the

      VM Settings window.

  4. ​In the left pane of the VM Settings window, select Processors.
  5. ​In the right pane, find the Virtual Machine Processor Settings.
    1. ​Note the value specified in the Number of virtual processors field.

      This represents the number of vCPUs assigned to the VM.

  6. ​In the left pane, switch to the Network Adapter section.
  7. ​In the right pane, find the network adapters assigned to the VM. Note:​The number of RSS queues specified for the VM can vary depending on the network adapter and configuration.
  8. ​Compare the number of vCPUs with twice the number of RSS queues.

    If the vCPUs are less than twice the RSS queues, the requirement is not met.

  9. ​Repeat Steps 3 through 8 for the other VMs on the Hyper-V host.
  10. ​For Windows Server 2012 and later, issue the following command while the VM is in the off state: Set-VMProcessor -VMName "YOUR_VM_Name" -HwThreadCountPerCore 1 -Count 8

    The HwThreadCountPerCore setting refers to the hardware thread count for each CPU core inside the VM, and specifies the number of simultaneous hardware threads that can be executed on each physical core of a processor in the VM.

    The default value is HwThreadCountPerCore=0, which disables the setting and allows multiple threads for each CPU core inside the VM. The default setting of 0 essentially enables hyper-threading inside the VM, which can have a severe impact on VM performance.

    For most VM workloads, Intel recommends using: -HwThreadCountPerCore 1 -Count N

    This configures 1 thread per core inside the VM, using N CPU cores on the host. This gives optimal performance for most VM workloads. Note:​This command is available only in Microsoft Windows Sever 2012 and later.

In the OS of both guest VM1 and guest VM2:

  1. ​Set the RSS queues to 4 for all VFs in the guest OS: Set-NetAdapterRss -InterfaceDescription *adaptive* NumberOfReceiveQueues 4
  2. ​Update the number of queues in the guest OS: Set-NetAdapterAdvancedProperty -Name "your_adapter_name_from_guest_os" -DisplayName "Maximum Number of RSS Queues" -DisplayValue "8 Queues" Note:​In the locations where there are settings for the number of queues, the value can be anything from 1 to 16. If you want more total throughput, increase the number of queues. When updating the number of queues, you must set IovQueuePairsRequested to a value that is equal to or greater than the number of queues you want to use in the VM.