In der Software Optimierung der Leistung von hnv-Gateway definierten NetzwerkenHNV Gateway Performance Tuning in Software Defined Networks

Dieses Thema enthält die Hardwarespezifikationen und konfigurationsempfehlungen für Server, auf denen Hyper-V ausführen und Hosten von Windows Server-Gateway-VMs, neben Konfigurationsparametern für Windows Server-Gateway-VMs (VMs) .This topic provides hardware specifications and configuration recommendations for servers that are running Hyper-V and hosting Windows Server Gateway virtual machines, in addition to configuration parameters for Windows Server Gateway virtual machines (VMs). Um optimale Leistung von Windows Server-Gateway-VMs zu extrahieren, wird davon ausgegangen, dass diese Richtlinien beachtet werden.To extract best performance from Windows Server gateway VMs, it is expected that these guidelines will be followed. Die folgenden Abschnitte enthalten Hardware- und Konfigurationsanforderungen für die Bereitstellung von Windows Server-Gateway.The following sections contain hardware and configuration requirements when you deploy Windows Server Gateway.

  1. Hardwareempfehlungen für Hyper-VHyper-V hardware recommendations
  2. Hyper-V-HostkonfigurationHyper-V host configuration
  3. Windows Server-Gateway-VM-KonfigurationWindows Server gateway VM configuration

Hardwareempfehlungen für Hyper-VHyper-V hardware recommendations

Es folgt die empfohlene Mindesthardwarekonfiguration für jeden Server, auf denen Windows Server 2016 und Hyper-V ausgeführt wird.Following is the recommended minimum hardware configuration for each server that is running Windows Server 2016 and Hyper-V.

ServerkomponenteServer Component SpezifikationSpecification
Zentralprozessor (CPU)Central Processing Unit (CPU) Non-Uniform Memory Architecture (NUMA)-Knoten: 2Non-Uniform Memory Architecture (NUMA) nodes: 2
Wenn es mehrere Windows Server Gateway-VMs auf dem Host für eine optimale Leistung sind müssen jeden Gateway-VM vollen Zugriff auf einem NUMA-Knoten.If there are multiple Windows Server gateway VMs on the host, for best performance, each gateway VM should have full access to one NUMA node. Und es muss sich von den NUMA-Knoten, die von dem physischen Host-Adapter verwendet.And it should be different from the NUMA node used by the host physical adapter.
Kerne pro NUMA-KnotenCores per NUMA node 22
Hyper-ThreadingHyper-Threading Deaktiviert.Disabled. Hyperthreading verbessert die Leistung von Windows Server-Gateway nicht.Hyper-Threading does not improve the performance of Windows Server Gateway.
Arbeitsspeicher (RAM)Random Access Memory (RAM) 48 GB48 GB
Netzwerkschnittstellenkarten (NICs)Network Interface Cards (NICs) Zwei 10-GB-Netzwerkkarten, die Gateway-Leistung hängt die Rate der Zeile ab.Two 10 GB NICs,The gateway performance will depend on the line rate. Wenn die Rate der Zeile weniger als 10 Gbit/s ist, werden die Gateway-Tunnel Durchsatzzahlen auch durch den gleichen Faktor ausfallen.If the line rate is less than 10Gbps, the gateway tunnel throughput numbers will also go down by the same factor.

Stellen Sie sicher, dass die Anzahl virtueller Prozessoren, die einer Windows Server-Gateway-VM zugewiesen sind, die Anzahl von Prozessoren auf dem NUMA-Knoten nicht übersteigt.Ensure that the number of virtual processors that are assigned to a Windows Server Gateway VM does not exceed the number of processors on the NUMA node. Bei einem NUMA-Knoten mit acht Kernen sollten z. B. maximal acht virtuelle Prozessoren verwendet werden.For example, if a NUMA node has 8 cores, the number of virtual processors should be less than or equal to 8. Für eine optimale Leistung sollte 8 sein.For best performance, it should be 8. Führen Sie das folgende Windows PowerShell-Skript auf jedem Hyper-V-Host aus, um die Anzahl von NUMA-Knoten und die Anzahl von Kernen pro NUMA-Knoten zu ermitteln:To find out the number of NUMA nodes and the number of cores per NUMA node, run the following Windows PowerShell script on each Hyper-V host:

$nodes = [object[]] $(gwmi –Namespace root\virtualization\v2 -Class MSVM_NumaNode)
$cores = ($nodes | Measure-Object NumberOfProcessorCores -sum).Sum
$lps = ($nodes | Measure-Object NumberOfLogicalProcessors -sum).Sum


Write-Host "Number of NUMA Nodes: ", $nodes.count
Write-Host ("Total Number of Cores: ", $cores)
Write-Host ("Total Number of Logical Processors: ", $lps)

Wichtig

Die Zuordnung von virtuellen Prozessoren zu NUMA-Knoten kann sich negativ auf die Leistung von Windows Server-Gateway auswirken.Allocating virtual processors across NUMA nodes might have a negative performance impact on Windows Server Gateway. Die Ausführung mehrerer VMs, denen jeweils Prozessoren von einem NUMA-Knoten zugewiesen sind, bietet wahrscheinlich eine höhere Gesamtleistung als eine einzige VM, der alle virtuellen Prozessoren zugewiesen sind.Running multiple VMs, each of which has virtual processors from one NUMA node, likely provides better aggregate performance than a single VM to which all virtual processors are assigned.

Eine Gateway-VM mit acht virtuellen Prozessoren und mindestens 8GB RAM wird bei der Auswahl der Anzahl der Gateway-VMs empfohlen, um auf jedem Hyper-V-Host zu installieren, wenn jeder NUMA-Knoten über acht Kerne verfügt.One gateway VM with eight virtual processors and at least 8GB RAM is recommended when selecting the number of gateway VMs to install on each Hyper-V host when each NUMA node has eight cores. In diesem Fall dient einem NUMA-Knoten auf den Hostcomputer.In this case, one NUMA node is dedicated to the host machine.

Hyper-V-HostkonfigurationHyper-V Host configuration

Folgendes ist die empfohlene Konfiguration für jeden Server mit Windows Server 2016 und Hyper-V und deren arbeitsauslastung Windows Server-Gateway-VMs ausgeführt wird.Following is the recommended configuration for each server that is running Windows Server 2016 and Hyper-V and whose workload is to run Windows Server Gateway VMs. Die Konfigurationsanweisungen beinhalten Windows PowerShell-Befehlsbeispiele.These configuration instructions include the use of Windows PowerShell command examples. Die Beispiele enthalten Platzhalter für die tatsächlichen Werte, die Sie beim Ausführen der Befehle in Ihrer Umgebung angeben müssen.These examples contain placeholders for actual values that you need to provide when you run the commands in your environment. Platzhalter für den Netzwerkadapternamen sind z. B. "NIC1?For example, network adapter name placeholders are “NIC1�? und "NIC2.?and “NIC2.�? Wenn Sie Befehle mit diesen Platzhaltern ausführen, verwenden Sie anstelle der Platzhalter die tatsächlichen Namen der Netzwerkadapter auf Ihren Servern. Andernfalls schlagen die Befehle fehl.When you run commands that use these placeholders, utilize the actual names of the network adapters on your servers rather than using the placeholders, or the commands will fail.

Hinweis

Zum Ausführen der folgenden Windows PowerShell-Befehle müssen Sie ein Mitglied der lokalen Gruppe %%amp;quot;Administratoren%%amp;quot; sein.To run the following Windows PowerShell commands, you must be a member of the Administrators group.

KonfigurationselementConfiguration Item Windows Powershell-KonfigurationWindows Powershell Configuration
Switch Embedded TeamingSwitch Embedded Teaming Bei der Erstellung eines Vswitch mit mehreren Netzwerkadaptern aktiviert Switch embedded teaming für diese Adapter automatisch.When you create a vswitch with multiple network adapters, it automatically enabled switch embedded teaming for those adapters.
New-VMSwitch -Name TeamedvSwitch -NetAdapterName "NIC 1","NIC 2"
Herkömmliche über LBFO-Teamvorgang ist mit SDN in Windows Server 2016 nicht unterstützt.Traditional teaming through LBFO is not supported with SDN in Windows Server 2016. Switch Embedded Teaming können Sie den gleichen Satz von NICs für Ihre virtuellen und RDMA-Datenverkehr verwenden.Switch Embedded Teaming allows you to use the same set of NICs for your virtual traffic and RDMA traffic. Dies wurde nicht mit NIC-Teamvorgang basierend auf LBFO unterstützt.This was not supported with NIC teaming based on LBFO.
Interruptüberprüfung für physische NICsInterrupt Moderation on physical NICs Verwenden Sie die Standardeinstellungen.Use default settings. Um die Konfiguration zu überprüfen, können Sie den folgenden Windows PowerShell-Befehl: Get-NetAdapterAdvancedPropertyTo check the configuration, you can use the following Windows PowerShell command: Get-NetAdapterAdvancedProperty
Empfangspuffer (Größe) für physische NICsReceive Buffers size on physical NICs Sie können überprüfen, ob die physischen NICs die Konfiguration dieses Parameters unterstützen, mithilfe des Befehls Get-NetAdapterAdvancedProperty.You can verify whether the physical NICs support the configuration of this parameter by running the command Get-NetAdapterAdvancedProperty. Wenn sie diesen Parameter nicht unterstützen, die Ausgabe des Befehls enthält keine Eigenschaft "Empfangspuffer.?If they do not support this parameter, the output from the command does not include the property “Receive Buffers.�? Unterstützen die NICs den Parameter, können Sie die Empfangspuffergröße mit dem folgenden Windows PowerShell-Befehl festlegen:If NICs do support this parameter, you can use the following Windows PowerShell command to set the Receive Buffers size:
Set-NetAdapterAdvancedProperty “NIC1�? –DisplayName “Receive Buffers�? –DisplayValue 3000
Sendepuffer (Größe) für physische NICsSend Buffers size on physical NICs Sie können überprüfen, ob die physischen NICs die Konfiguration dieses Parameters unterstützen, mithilfe des Befehls Get-NetAdapterAdvancedProperty.You can verify whether the physical NICs support the configuration of this parameter by running the command Get-NetAdapterAdvancedProperty. Wenn die NICs den Parameter nicht unterstützen, die Ausgabe des Befehls enthält keine Eigenschaft "Puffer zu senden.?If the NICs do not support this parameter, the output from the command does not include the property “Send Buffers.�? Unterstützen die NICs den Parameter, können Sie die Sendepuffergröße mit dem folgenden Windows PowerShell-Befehl festlegen:If NICs do support this parameter, you can use the following Windows PowerShell command to set the Send Buffers size:
Set-NetAdapterAdvancedProperty “NIC1�? –DisplayName “Transmit Buffers�? –DisplayValue 3000
Empfangsseitige Skalierung (Receive Side Scaling, RSS) für physische NICsReceive Side Scaling (RSS) on physical NICs Sie können überprüfen, ob die physischen NICs RSS mit dem Windows PowerShell-Befehl Get-NetAdapterRss aktiviert haben.You can verify whether your physical NICs have RSS enabled by running the Windows PowerShell command Get-NetAdapterRss. Sie können die folgenden Windows PowerShell-Befehle zum Aktivieren und Konfigurieren von RSS für Ihre Netzwerkadapter verwenden:You can use the following Windows PowerShell commands to enable and configure RSS on your network adapters:
Enable-NetAdapterRss “NIC1�?,�?NIC2�?
Set-NetAdapterRss “NIC1�?,�?NIC2�? –NumberOfReceiveQueues 16 -MaxProcessors
HINWEIS: Wenn VMMQ oder VMQ aktiviert ist, muss RSS nicht auf die physischen Netzwerkadapter aktiviert werden.NOTE: If VMMQ or VMQ is enabled, RSS does not have to be enabled on the physical network adapters. Sie können sie auf die virtuellen Netzwerkadapter des Hosts aktivieren.You can enable it on the host virtual network adapters
VMMQVMMQ Um VMMQ für einen virtuellen Computer zu aktivieren, führen Sie den folgenden Befehl aus:To enable VMMQ for a VM, run the following command:
Set-VmNetworkAdapter -VMName <gateway vm name>,-VrssEnabled $true -VmmqEnabled $true
HINWEIS: Nicht alle Netzwerkadapter unterstützen VMMQ.NOTE: Not all network adapters support VMMQ. Derzeit ist es Chelsio T5 und T6 Mellanox CX-3 und CX-4 und QLogic 45xxx-Serie unterstütztCurrently, it is supported on Chelsio T5 and T6, Mellanox CX-3 and CX-4, and QLogic 45xxx series
Warteschlange für virtuelle Computer (Virtual Machine Queue, VMQ) für das NIC-TeamVirtual Machine Queue (VMQ) on the NIC Team Sie können VMQ mit dem folgenden Windows PowerShell-Befehl in Ihrem Team Satz aktivieren:You can enable VMQ on your SET team by using the following Windows PowerShell command:
Enable-NetAdapterVmq
HINWEIS: Dies sollte aktiviert werden, nur dann, wenn die HW VMMQ nicht unterstützt.NOTE: This should be enabled only if the HW does not support VMMQ. Wenn unterstützt, sollte die VMMQ für eine bessere Leistung aktiviert werden.If supported, VMMQ should be enabled for better performance.

Hinweis

VMQ und vRSS kommen in Abbildung nur, wenn die Last auf dem virtuellen Computer hoch ist, und die CPU bis zum Maximum genutzt wird wird.VMQ and vRSS come into picture only when the load on the VM is high and the CPU is being utilized to the maximum. Mindestens ein Prozessor wird erst dann max, wichtige. VMQ und vRSS werden vorteilhaft, die helfen, die Verarbeitungslast auf mehrere Kerne verteilt.Only then will at least one processor core max out. VMQ and vRSS will then be beneficial to help spread the processing load across multiple cores. Dies gilt nicht für die IPsec-Datenverkehr als IPsec-Datenverkehr an einen einzelnen Kern beschränkt ist.This is not applicable for IPsec traffic as IPsec traffic is confined to a single core.

Konfiguration der Windows Server-Gateway-VMWindows Server Gateway VM configuration

Auf beiden Hyper-V-Hosts können Sie mehrere virtuelle Computer konfigurieren, die als Gateways mit Windows Server-Gateway konfiguriert sind.On both Hyper-V hosts, you can configure multiple VMs that are configured as gateways with Windows Server Gateway. Mit dem Manager für virtuelle Switches können Sie einen virtuellen Hyper-V-Switch erstellen, der an das NIC-Team auf dem Hyper-V-Host gebunden ist.You can use Virtual Switch Manager to create a Hyper-V Virtual Switch that is bound to the NIC team on the Hyper-V host. Beachten Sie, dass für eine optimale Leistung Sie ein einzelnes Gateway-VM auf einem Hyper-V-Host bereitstellen soll.Note that for best performance, you should deploy a single gateway VM on a Hyper-V host. Folgende Konfiguration wird für jede Windows Server-Gateway-VM empfohlen.Following is the recommended configuration for each Windows Server Gateway VM.

KonfigurationselementConfiguration Item Windows Powershell-KonfigurationWindows Powershell Configuration
ArbeitsspeicherMemory 8 GB8 GB
Anzahl virtueller NetzwerkadapterNumber of virtual network adapters 3 NICs für folgende verwendet: 1 für die Verwaltung, die durch das Verwaltungsbetriebssystem, 1 extern verwendet wird, die Zugriff auf externe Netzwerke, 1 bereitstellt, die intern ist, die nur Zugriff auf interne Netzwerke bietet.3 NICs with the following specific uses: 1 for Management that is used by the management operating system, 1 External that provides access to external networks, 1 that is Internal that provides access to internal networks only.
Receive Side Scaling (RSS)Receive Side Scaling (RSS) Sie können die standardmäßigen übernehmen RSS-Einstellungen für die Management-NIC.You can keep the default RSS settings for the Management NIC. Im Folgenden sehen Sie eine Beispielkonfiguration für eine VM mit acht virtuellen Prozessoren.The following example configuration is for a VM that has 8 virtual processors. Für die externen und internen NICs können Sie RSS mit dem BaseProcNumber-Wert auf 0 und dem MaxRssProcessors auf 8, die mit dem folgenden Windows PowerShell-Befehl aktivieren:For the External and Internal NICs, you can enable RSS with BaseProcNumber set to 0 and MaxRssProcessors set to 8 using the following Windows PowerShell command:
Set-NetAdapterRss “Internal�?,�?External�? –BaseProcNumber 0 –MaxProcessorNumber 8
Sendeseitiger PufferSend side buffer Sie können die standardmäßigen übernehmen Sendeseitigen Puffer-Einstellungen für die Management-NIC.You can keep the default Send Side Buffer settings for the Management NIC. Für die interne und externe NIC können Sie den Sendeseitigen Puffer mit 32 MB RAM konfigurieren, mit dem folgenden Windows PowerShell-Befehl:For both the Internal and External NICs you can configure the Send Side Buffer with 32 MB of RAM by using the following Windows PowerShell command:
Set-NetAdapterAdvancedProperty “Internal�?,�?External�? –DisplayName “Send Buffer Size�? –DisplayValue “32MB�?
Empfangsseitiger PufferReceive Side buffer Sie können die standardmäßigen übernehmen empfangsseitigen Puffer-Einstellungen für die Management-NIC.You can keep the default Receive Side Buffer settings for the Management NIC. Für die interne und externe NIC können Sie den empfangsseitigen Puffer mit mindestens 16 MB RAM konfigurieren, mit dem folgenden Windows PowerShell-Befehl:For both the Internal and External NICs, you can configure the Receive Side Buffer with 16 MB of RAM by using the following Windows PowerShell command:
Set-NetAdapterAdvancedProperty “Internal�?,�?External�? –DisplayName “Receive Buffer Size�? –DisplayValue “16MB�?
WeiterleitungsoptimierungForward Optimization Sie können die standardmäßigen übernehmen Weiterleitungsoptimierung-Einstellungen für die Management-NIC.You can keep the default Forward Optimization settings for the Management NIC. Für die interne und externe NIC können Sie die Weiterleitungsoptimierung mit dem folgenden Windows PowerShell-Befehl aktivieren:For both the Internal and External NICs, you can enable Forward Optimization by using the following Windows PowerShell command:
Set-NetAdapterAdvancedProperty “Internal�?,�?External�? –DisplayName “Forward Optimization�? –DisplayValue “1�?