Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda det här avsnittet för att lära dig några av funktionerna i nätverkskort som kan påverka dina köpval.
Nätverksintensiva program kräver högpresterande nätverkskort. I det här avsnittet beskrivs några saker att tänka på när du väljer nätverkskort, samt hur du konfigurerar olika inställningar för nätverkskort för att uppnå bästa möjliga nätverksprestanda.
Tip
Du kan konfigurera inställningar för nätverkskort med hjälp av Windows PowerShell. För mer information, se Cmdlets för nätverkskort i Windows PowerShell.
Avlastningsfunktioner
Avlastning av uppgifter från den centrala bearbetningsenheten (CPU) till nätverkskortet kan minska CPU-användningen på servern, vilket förbättrar systemets övergripande prestanda.
Nätverksstacken i Microsoft-produkter kan avlasta en eller flera uppgifter till ett nätverkskort om du väljer ett nätverkskort som har lämpliga avlastningsfunktioner. Följande tabell innehåller en kort översikt över olika avlastningsfunktioner som är tillgängliga i Windows Server 2016.
| Avlastningstyp | Description |
|---|---|
| Kontrollsummaberäkning för TCP | Nätverksstacken kan avlasta beräkningen och valideringen av kontrollsummor för Transmission Control Protocol (TCP) under sändnings- och mottagningskodvägar. Den kan också avlasta beräkningen och valideringen av IPv4- och IPv6-kontrollsummor vid sändnings- och mottagningsprocedurer. |
| Kontrollsummaberäkning för UDP | Nätverksstacken kan avlasta beräkningen och valideringen av UDP-kontrollsummor på sänd- och mottagningsvägar (User Datagram Protocol). |
| Kontrollsummaberäkning för IPv4 | Nätverksstacken kan avlasta beräkning och validering av IPv4-kontrollsummor på sändnings- och mottagningsvägar. |
| Kontrollsummaberäkning för IPv6 | Nätverksstacken kan avlasta beräkningen och valideringen av IPv6-kontrollsummor vid sökvägar för att skicka och ta emot kod. |
| Segmentering av stora TCP-paket | TCP/IP-transportlagret har stöd för Large Send Offload v2 (LSOv2). Med LSOv2 kan TCP/IP-transportskiktet avlasta segmenteringen av stora TCP-paket till nätverkskortet. |
| Ta emot sidoskalning (RSS) | RSS är en teknik för nätverksdrivrutiner som möjliggör effektiv distribution av nätverksbearbetning över flera processorer i system med flera processorer. Mer information om RSS finns senare i det här avsnittet. |
| Mottagning av segmentkoalescens (RSC) | RSC är möjligheten att gruppera paket för att minimera den rubrikbearbetning som krävs för att värden ska kunna utföra. Högst 64 kB mottagen nyttolast kan kombineras till ett enda större paket för bearbetning. Mer information om RSC finns senare i det här avsnittet. |
Mottagningssideskalning
Windows Server 2016, Windows Server 2012, Windows Server 2012 R2, Windows Server 2008 R2 och Windows Server 2008 stöder mottagarsideskalning (RSS).
Vissa servrar konfigureras med flera logiska processorer som delar maskinvaruresurser (till exempel en fysisk kärna) och betraktas som SMT-kollegor (Simultaneous Multi-Threading). Intel Hyper-Threading Technology är ett exempel. RSS dirigerar nätverksbearbetning till upp till en logisk processor per kärna. På en server med Intel Hyper-Threading, 4 kärnor och 8 logiska processorer använder RSS till exempel högst 4 logiska processorer för nätverksbearbetning.
RSS distribuerar inkommande nätverks-I/O-paket mellan logiska processorer så att paket som tillhör samma TCP-anslutning bearbetas på samma logiska processor, vilket bevarar ordningen.
RSS lastbalanserar även UDP unicast- och multicast-trafik och dirigerar relaterade flöden (som bestäms genom hashning av käll- och måladresserna) till samma logiska processor, vilket bevarar ordningen på relaterade ankomster. Detta hjälper till att förbättra skalbarheten och prestandan för scenarier med hög mottagningsbelastning för servrar som har färre nätverkskort än antalet berättigade logiska processorer.
Konfigurera RSS
I Windows Server 2016 kan du konfigurera RSS med hjälp av Windows PowerShell-cmdletar och RSS-profiler.
Du kan definiera RSS-profiler med parametern –Profile i Windows PowerShell-cmdleten Set-NetAdapterRss .
Windows PowerShell-kommandon för RSS-konfiguration
Med följande cmdletar kan du se och ändra RSS-parametrar per nätverkskort.
Note
Om du vill ha en detaljerad kommandoreferens för varje cmdlet, inklusive syntax och parametrar, kan du klicka på följande länkar. Dessutom kan du skicka cmdlet-namnet till Get-Help i Windows PowerShell-prompten för mer information om varje kommando.
Disable-NetAdapterRss. Det här kommandot inaktiverar RSS på det nätverkskort som du anger.
Enable-NetAdapterRss. Det här kommandot aktiverar RSS på det nätverkskort som du anger.
Get-NetAdapterRss. Det här kommandot hämtar RSS-egenskaperna för det nätverkskort som du anger.
Set-NetAdapterRss. Det här kommandot anger RSS-egenskaperna på det nätverkskort som du anger.
RSS-profiler
Du kan använda parametern –Profile för cmdleten Set-NetAdapterRss för att ange vilka logiska processorer som ska tilldelas till vilket nätverkskort. Tillgängliga värden för den här parametern är:
Closest. Logiska processornummer som ligger nära nätverkskortets grundläggande RSS-processor föredras. Med den här profilen kan operativsystemet balansera om logiska processorer dynamiskt baserat på belastning.
ClosestStatic. Logiska processornummer nära nätverkskortets grundläggande RSS-processor föredras. Med den här profilen balanserar operativsystemet inte om logiska processorer dynamiskt baserat på belastning.
NUMA. Logiska processornummer väljs vanligtvis på olika NUMA-noder för att distribuera belastningen. Med den här profilen kan operativsystemet balansera om logiska processorer dynamiskt baserat på belastning.
NUMAStatic. Det här är standardprofilen. Logiska processornummer väljs vanligtvis på olika NUMA-noder för att distribuera belastningen. Med den här profilen balanserar operativsystemet inte om logiska processorer dynamiskt baserat på belastning.
Conservative. RSS använder så få processorer som möjligt för att upprätthålla belastningen. Det här alternativet hjälper till att minska antalet avbrott.
Beroende på scenariot och arbetsbelastningens egenskaper kan du också använda andra parametrar i Windows PowerShell-cmdleten Set-NetAdapterRss för att ange följande:
- Hur många logiska processorer som kan användas för RSS på basis av varje nätverksadapter.
- Startförskjutningen för området för logiska processorer.
- Noden som nätverkskortet allokerar minne från.
Följande är de ytterligare Parametrar för Set-NetAdapterRs som du kan använda för att konfigurera RSS:
Note
I exempelsyntaxen för varje parameter nedan används nätverkskortnamnet Ethernet som ett exempelvärde för parametern –Name för kommandot Set-NetAdapterRss . När du kör cmdleten kontrollerar du att det nätverkskortnamn som du använder är lämpligt för din miljö.
* MaxProcessors: Anger det maximala antalet RSS-processorer som ska användas. Detta säkerställer att programtrafiken är bunden till ett maximalt antal processorer i ett visst gränssnitt. Exempelsyntax:
Set-NetAdapterRss –Name "Ethernet" –MaxProcessors <value>* BaseProcessorGroup: Anger basprocessorgruppen för en NUMA-nod. Detta påverkar processormatrisen som används av RSS. Exempelsyntax:
Set-NetAdapterRss –Name "Ethernet" –BaseProcessorGroup <value>* MaxProcessorGroup: Anger gruppen Max processor för en NUMA-nod. Detta påverkar processormatrisen som används av RSS. Om du anger detta begränsas en maximal processorgrupp så att belastningsutjämningen justeras inom en k-grupp. Exempelsyntax:
Set-NetAdapterRss –Name "Ethernet" –MaxProcessorGroup <value>* BaseProcessorNumber: Anger basprocessornumret för en NUMA-nod. Detta påverkar processormatrisen som används av RSS. Detta gör det möjligt att partitionera processorer mellan nätverkskort. Det här är den första logiska processorn i RSS-processorernas intervall som tilldelas varje adapter. Exempelsyntax:
Set-NetAdapterRss –Name "Ethernet" –BaseProcessorNumber <Byte Value>* NumaNode: NUMA-noden som varje nätverkskort kan allokera minne från. Detta kan vara inom en k-grupp eller mellan olika k-grupper. Exempelsyntax:
Set-NetAdapterRss –Name "Ethernet" –NumaNodeID <value>* NumberofReceiveQueues: Om dina logiska processorer verkar vara underutnyttjard för att ta emot trafik (till exempel som visas i Aktivitetshanteraren) kan du försöka öka antalet RSS-köer från standardvärdet 2 till det högsta som stöds av nätverkskortet. Nätverkskortet kan ha alternativ för att ändra antalet RSS-köer som en del av drivrutinen. Exempelsyntax:
Set-NetAdapterRss –Name "Ethernet" –NumberOfReceiveQueues <value>
Om du vill ha mer information klickar du på följande länk för att ladda ned Skalbart nätverk: Eliminera flaskhalsen för mottagningsbearbetning – Introduktion till RSS i Word-format.
Förstå RSS-prestanda
Justering av RSS kräver att du förstår konfigurationen och belastningsutjämningslogik. Om du vill kontrollera att RSS-inställningarna har tillämpats kan du granska utdata när du kör Windows PowerShell-cmdleten Get-NetAdapterRss . Följande är exempel på utdata från den här cmdleten.
PS C:\Users\Administrator> get-netadapterrss
Name : testnic 2
InterfaceDescription : Broadcom BCM5708C NetXtreme II GigE (NDIS VBD Client) #66
Enabled : True
NumberOfReceiveQueues : 2
Profile : NUMAStatic
BaseProcessor: [Group:Number] : 0:0
MaxProcessor: [Group:Number] : 0:15
MaxProcessors : 8
IndirectionTable: [Group:Number]:
0:0 0:4 0:0 0:4 0:0 0:4 0:0 0:4
…
(# indirection table entries are a power of 2 and based on # of processors)
…
0:0 0:4 0:0 0:4 0:0 0:4 0:0 0:4
Förutom ekoparametrar som har angetts är den viktigaste aspekten av utdata indirekta tabellutdata. Tabellen för omdirigering visar de hinkar i hash-tabellen som används för att distribuera inkommande trafik. I det här exemplet anger n:c-notationen det Numa K-Group:CPU-indexpar som används för att dirigera inkommande trafik. Vi ser exakt 2 unika poster (0:0 och 0:4), som representerar k-grupp 0/cpu0 respektive k-grupp 0/cpu 4.
Det finns bara en k-grupp för det här systemet (k-grupp 0) och en n (där n <= 128) indirekt tabellpost. Eftersom antalet mottagningsköer är inställt på 2 väljs endast 2 processorer (0:0, 0:4) – även om maximalt antal processorer är inställt på 8. I själva verket hanterar indirektionstabellen inkommande trafik genom att använda 2 av de 8 tillgängliga processorerna.
Om du vill använda processorerna fullt ut måste antalet RSS-mottagningsköer vara lika med eller större än maxprocessorer. I föregående exempel ska mottagningskön ställas in till 8 eller högre.
NIC-teamindelning och RSS
RSS kan aktiveras på ett nätverkskort som är kombinerat med ett annat nätverkskort med hjälp av NIC-teamning. I det här scenariot kan endast det underliggande fysiska nätverkskortet konfigureras för att använda RSS. En användare kan inte ange RSS-cmdletar på det teamindelade nätverkskortet.
Mottagning av segmentkoalescens (RSC)
Mottaga segment-sammanslagning (RSC) hjälper systemets prestanda genom att minska antalet IP-huvuden som bearbetas för en viss mängd mottagen data. Den bör användas för att skala prestandan för mottagna data genom att gruppera (eller sammanslaga) de mindre paketen i större enheter.
Den här metoden kan påverka svarstiden med fördelar som främst ses i dataflödesvinster. RSC rekommenderas för att öka genomströmningen vid mottagning av tunga arbetsbelastningar. Överväg att distribuera nätverkskort som stöder RSC.
På dessa nätverkskort kontrollerar du att RSC är aktiverat (det här är standardinställningen), såvida du inte har specifika arbetsbelastningar (till exempel låg svarstid, nätverk med lågt dataflöde) som visar fördelarna med att RSC är inaktiverat.
Förstå RSC-diagnostik
Du kan diagnostisera RSC med hjälp av Windows PowerShell-cmdletarna Get-NetAdapterRsc och Get-NetAdapterStatistics.
Följande är exempelutdata när du kör cmdleten Get-NetAdapterRsc.
PS C:\Users\Administrator> Get-NetAdapterRsc
Name IPv4Enabled IPv6Enabled IPv4Operational IPv6Operational IPv4FailureReason IPv6Failure
Reason
---- ----------- ----------- --------------- --------------- ----------------- ------------
Ethernet True False True False NoFailure NicProperties
Cmdleten Hämta visar om RSC är aktiverat i gränssnittet och om TCP tillåter att RSC är i drifttillstånd. Orsaken till felet innehåller information om misslyckandet med att aktivera RSC i gränssnittet.
I föregående scenario stöds och används IPv4 RSC i gränssnittet. För att förstå varför diagnostikfel uppstår kan man se de sammanställda byte eller orsakerna till undantagen. Detta ger en indikation på sammankopplingsproblemen.
Följande är exempelutdata när du kör cmdleten Get-NetAdapterStatistics.
PS C:\Users\Administrator> $x = Get-NetAdapterStatistics "myAdapter"
PS C:\Users\Administrator> $x.rscstatistics
CoalescedBytes : 0
CoalescedPackets : 0
CoalescingEvents : 0
CoalescingExceptions : 0
RSC och virtualisering
RSC stöds endast på det fysiska värden när värdnätverkskortet inte är bundet till den Hyper-V Virtuella Växeln. RSC inaktiveras av operativsystemet när värden är bunden till Hyper-V Virtual Switch. Dessutom får virtuella datorer inte nytta av RSC eftersom virtuella nätverkskort inte stöder RSC.
RSC kan aktiveras för en virtuell dator när virtualisering med enkel rotinmatning/utdata (SR-IOV) är aktiverad. I det här fallet stöder virtuella funktioner RSC-funktioner. Virtuella datorer får därför också förmånen av RSC.
Nätverksadapterresurser
Några nätverkskort hanterar aktivt sina resurser för att uppnå optimala prestanda. Med flera nätverkskort kan du konfigurera resurser manuellt med hjälp av fliken Avancerat nätverk för kortet. För sådana kort kan du ange värden för ett antal parametrar, inklusive antalet mottagningsbuffertar och sändningsbuffertar.
Konfigurationen av nätverkskortresurser förenklas med hjälp av följande Windows PowerShell-cmdletar.
För mer information, se Cmdlets för nätverkskort i Windows PowerShell.
Länkar till alla ämnen i den här guiden finns i Prestandajustering för nätverksundersystem.