Delen via


HNV Gateway Prestatieoptimalisatie in Software Defined Networks

Dit onderwerp bevat hardwarespecificaties en configuratieaanbevelingen voor servers die Hyper-V draaien en virtuele Windows Server Gateway-machines hosten, naast configuratieparameters voor virtuele Windows Server Gateway-machines (VM's). Voor het extraheren van de beste prestaties van windows Server-gateway-VM's, wordt verwacht dat deze richtlijnen worden gevolgd. De volgende secties bevatten hardware- en configuratievereisten wanneer u Windows Server Gateway implementeert.

  1. aanbevelingen voor hardware Hyper-V
  2. Hyper-V host configuratie
  3. Vm-configuratie van Windows Server-gateway

aanbevelingen voor hardware Hyper-V

Hieronder vindt u de aanbevolen minimale hardwareconfiguratie voor elke server met Windows Server 2016 en Hyper-V.

Serveronderdeel Specificatie
Centrale verwerkingseenheid (CPU) NUMA (Niet-uniforme geheugentoegang) knooppunten: 2
Als er meerdere Windows Server-gateway-VM's op de host aanwezig zijn, moet elke gateway-VM voor de beste prestaties volledige toegang hebben tot één NUMA-knooppunt. En dit moet afwijken van het NUMA-knooppunt dat wordt gebruikt door de fysieke hostadapter.
Kernen per NUMA-knooppunt 2
Hyper-Threading Uitgeschakeld. Hyper-Threading verbetert de prestaties van Windows Server Gateway niet.
Willekeurig toegankelijk geheugen (RAM) 48 GB
Netwerkinterfacekaarten (NIC's) Twee NIC's van 10 GB, de gatewayprestaties zijn afhankelijk van de regelsnelheid. Als de lijnsnelheid kleiner is dan 10 Gbps, zal het doorvoer aantal van de gatewaytunnel ook verminderen met dezelfde factor.

Zorg ervoor dat het aantal virtuele processors dat is toegewezen aan een Windows Server Gateway-VM niet groter is dan het aantal processors op het NUMA-knooppunt. Als een NUMA-knooppunt bijvoorbeeld 8 kernen heeft, moet het aantal virtuele processors kleiner zijn dan of gelijk zijn aan 8. Voor de beste prestaties moet dit 8 zijn. Als u het aantal NUMA-knooppunten en het aantal kernen per NUMA-knooppunt wilt achterhalen, voert u het volgende Windows PowerShell-script uit op elke 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)

Belangrijk

Het toewijzen van virtuele processors tussen NUMA-knooppunten kan een negatieve invloed hebben op de prestaties van Windows Server Gateway. Het uitvoeren van meerdere VM's, die elk virtuele processors van één NUMA-knooppunt hebben, biedt waarschijnlijk betere geaggregeerde prestaties dan één virtuele machine waaraan alle virtuele processors zijn toegewezen.

Eén gateway-VM met acht virtuele processors en ten minste 8 GB RAM wordt aanbevolen wanneer u het aantal gateway-VM's selecteert dat op elke Hyper-V host moet worden geïnstalleerd wanneer elk NUMA-knooppunt acht kernen heeft. In dit geval is één NUMA-knooppunt toegewezen aan de hostcomputer.

Hyper-V host configuratie

Hieronder vindt u de aanbevolen configuratie voor elke server waarop Windows Server 2016 en Hyper-V worden uitgevoerd en waarvan de werkbelasting is om virtuele Windows Server Gateway-machines uit te voeren. Deze configuratie-instructies omvatten het gebruik van Windows PowerShell-opdrachtvoorbeelden. Deze voorbeelden bevatten tijdelijke aanduidingen voor werkelijke waarden die u moet opgeven wanneer u de opdrachten in uw omgeving uitvoert. Tijdelijke aanduidingen voor de naam van de netwerkadapter zijn bijvoorbeeld 'NIC1' en 'NIC2'. Wanneer u opdrachten uitvoert die gebruikmaken van deze tijdelijke aanduidingen, gebruikt u de werkelijke namen van de netwerkadapters op uw servers in plaats van de tijdelijke aanduidingen te gebruiken, anders mislukken de opdrachten.

Opmerking

Als u de volgende Windows PowerShell-opdrachten wilt uitvoeren, moet u lid zijn van de groep Administrators.

Configuratie-item Windows Powershell-configuratie
Wissel Embedded Teaming Wanneer u een vswitch met meerdere netwerkadapters maakt, wordt switch embedded teaming voor deze adapters automatisch ingeschakeld.
New-VMSwitch -Name TeamedvSwitch -NetAdapterName "NIC 1","NIC 2"
Traditionele koppeling via LBFO wordt niet ondersteund met SDN in Windows Server 2016. Met Switch Embedded Teaming kunt u dezelfde set NIC's gebruiken voor uw virtuele verkeer en RDMA-verkeer. Dit wordt niet ondersteund met NIC-koppeling op basis van LBFO.
Toezicht onderbreken op fysieke NIC's Gebruik de standaardinstellingen. U kunt de volgende Windows PowerShell-opdracht gebruiken om de configuratie te controleren: Get-NetAdapterAdvancedProperty
Grootte van ontvangstbuffers op fysieke NIC's U kunt controleren of de fysieke NIC's de configuratie van deze parameter ondersteunen door de opdracht Get-NetAdapterAdvancedPropertyuit te voeren. Als deze parameter niet wordt ondersteund, bevat de uitvoer van de opdracht niet de eigenschap 'Receive Buffers'. Als NIC's deze parameter wel ondersteunen, kunt u de volgende Windows PowerShell-opdracht gebruiken om de grootte van ontvangstbuffers in te stellen:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Receive Buffers" –DisplayValue 3000
Grootte van verzendbuffers op fysieke NIC's U kunt controleren of de fysieke NIC's de configuratie van deze parameter ondersteunen door de opdracht Get-NetAdapterAdvancedPropertyuit te voeren. Als de NIC's deze parameter niet ondersteunen, bevat de uitvoer van de opdracht niet de eigenschap 'Buffers verzenden'. Als NIC's deze parameter wel ondersteunen, kunt u de volgende Windows PowerShell-opdracht gebruiken om de grootte van de verzendbuffers in te stellen:
Set-NetAdapterAdvancedProperty "NIC1" –DisplayName "Transmit Buffers" –DisplayValue 3000
Ontvangstzijdige Schaling (Receive Side Scaling, RSS) op fysieke netwerkinterfacekaarten (NIC's) U kunt controleren of RSS is ingeschakeld voor uw fysieke NIC's door de Windows PowerShell-opdracht Get-NetAdapterRss uit te voeren. U kunt de volgende Windows PowerShell-opdrachten gebruiken om RSS in te schakelen en te configureren op uw netwerkadapters:
Enable-NetAdapterRss "NIC1","NIC2"
Set-NetAdapterRss "NIC1","NIC2" –NumberOfReceiveQueues 16 -MaxProcessors
OPMERKING: Als VMMQ of VMQ is ingeschakeld, hoeft RSS niet te worden ingeschakeld op de fysieke netwerkadapters. U kunt deze inschakelen op de virtuele hostnetwerkadapters
VMMQ Voer de volgende opdracht uit om VMMQ in te schakelen voor een VIRTUELE machine:
Set-VmNetworkAdapter -VMName <gateway vm name>,-VrssEnabled $true -VmmqEnabled $true
OPMERKING: Niet alle netwerkadapters ondersteunen VMMQ. Momenteel wordt het ondersteund op Chelsio T5 en T6, Mellanox CX-3 en CX-4, en QLogic 45xxx-serie
Virtuele-machinewachtrij (VMQ) in het NIC-team U kunt VMQ inschakelen in uw SET-team met behulp van de volgende Windows PowerShell-opdracht:
Enable-NetAdapterVmq
OPMERKING: dit moet alleen worden ingeschakeld als de HW geen ondersteuning biedt voor VMMQ. Indien ondersteund, moet VMMQ worden ingeschakeld voor betere prestaties.

Opmerking

VMQ en vRSS worden alleen in beeld gebracht wanneer de belasting op de VIRTUELE machine hoog is en de CPU tot het maximum wordt gebruikt. Alleen dan zal ten minste één processorkern maximaal zijn. VMQ en vRSS zijn vervolgens nuttig om de verwerkingsbelasting over meerdere kernen te verdelen. Dit is niet van toepassing op IPsec-verkeer omdat IPsec-verkeer is beperkt tot één kern.

Windows Server Gateway VM-configuratie

Op beide Hyper-V hosts kunt u meerdere VM's configureren die zijn geconfigureerd als gateways met Windows Server Gateway. U kunt Virtual Switch Manager gebruiken om een Hyper-V virtuele switch te maken die is gebonden aan het NIC-team op de Hyper-V host. Houd er rekening mee dat u voor de beste prestaties één gateway-VM moet implementeren op een Hyper-V host. Hieronder vindt u de aanbevolen configuratie voor elke Windows Server Gateway-VM.

Configuratie-item Windows Powershell-configuratie
Geheugen 8 GB
Aantal virtuele netwerkadapters 3 NIC's met de volgende specifieke toepassingen: 1 voor Beheer dat wordt gebruikt door het beheerbesturingssysteem, 1 Extern die toegang biedt tot externe netwerken, 1 intern die alleen toegang biedt tot interne netwerken.
Ontvangerszijde Schaling (Receive Side Scaling, RSS) U kunt de standaard RSS-instellingen voor de beheer-NIC behouden. De volgende voorbeeldconfiguratie is voor een virtuele machine met 8 virtuele processors. Voor de externe en interne NIC's kunt u RSS met BaseProcNumber instellen op 0 en MaxRssProcessors ingesteld op 8 met behulp van de volgende Windows PowerShell-opdracht:
Set-NetAdapterRss "Internal","External" –BaseProcNumber 0 –MaxProcessorNumber 8
Zijbuffer verzenden U kunt de standaardinstellingen voor de send side buffer voor de beheer-NIC behouden. Voor zowel de interne als externe NIC's kunt u de send side buffer met 32 MB RAM configureren met behulp van de volgende Windows PowerShell-opdracht:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Send Buffer Size" –DisplayValue "32MB"
Ontvangstzijde-buffer U kunt de standaardinstellingen voor de ontvangstzijdebuffer voor de beheer-NIC behouden. Voor zowel de interne als externe NIC's kunt u de Receive Side Buffer met 16 MB RAM configureren met behulp van de volgende Windows PowerShell-opdracht:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Receive Buffer Size" –DisplayValue "16MB"
Geoptimaliseerde Vooruitgang U kunt de standaardinstellingen voor forward optimization voor de beheer-NIC behouden. Voor zowel interne als externe NIC's kunt u Forward Optimization inschakelen met behulp van de volgende Windows PowerShell-opdracht:
Set-NetAdapterAdvancedProperty "Internal","External" –DisplayName "Forward Optimization" –DisplayValue "1"