Una guida alle impostazioni avanzate della NIC Windows - RSS / LSO / EEE / Attiva LAN

· Aggiornato il: · · Windows, Rete, NIC, Ethernet, Ottimizzazione prestazioni, Sviluppo Windows

La scheda [Avanzate] di una scheda NIC Windows è piena di parole sconosciute. Jumbo Packet, Large Send Offload, Interrupt Moderation, Receive Side Scaling, Flow Control, Energy Efficient Ethernet. Guardare solo i nomi ti fa venire voglia di abilitare tutto, ma in realtà la risposta giusta dipende da a cosa vuoi dare la priorità.

  • Vuoi aumentare la produttività per i trasferimenti di massa?
  • Vuoi ridurre la latenza per i pacchetti piccoli?
  • Vuoi ridurre l’utilizzo della CPU?
  • Vuoi che la ripresa del sonno e il Wake on LAN siano stabili?
  • Vuoi isolare i problemi di compatibilità con driver o interruttori?

Lascialo sul vago e vai “accendi tutto”, “imposta semplicemente Jumbo 9014”, “è lento, quindi impostalo su 1 Gbps pieno” - e avrai un incidente, abbastanza di routine.

Questo articolo illustra il modo pratico di pensare quando si toccano le impostazioni avanzate della NIC, mirando principalmente agli adattatori Ethernet cablati su Windows 10 / 11 / Windows Server. Spieghiamo il significato di ciascuna impostazione, cosa tende ad accadere quando la si alza / abbassa / abilita / disabilita e quando vale la pena toccarla, in modo da poterla esaminare tutta in una volta.

Tieni presente che i nomi visualizzati e i valori selezionabili della scheda NIC variano considerevolmente in base al fornitore e al driver. Jumbo Packet può essere Jumbo Frames, Receive Buffers può essere Receive Descriptors, Priority & VLAN può essere Packet Priority & VLAN. In questo articolo, le impostazioni con significati strettamente correlati vengono trattate insieme.

1. Prima la conclusione

In primo luogo, le conclusioni che raramente mancano nella pratica.

  • Velocità e duplex rimangono su Auto per impostazione predefinita. Quando un collegamento scende a 100 Mbps, passare direttamente a un 1.0 Gbps Full Duplex bloccato è l’ultima risorsa, non la prima.
  • Checksum Offload / RSS / LSO / RSC rimangono abilitati o alle impostazioni predefinite come regola. Spegnerli tutti con noncuranza tende a sprecare CPU.
  • Utilizza Jumbo Packet solo quando si allinea end-to-end. Imposta solo la scheda NIC su 9014 mentre il percorso intermedio rimane su 1500 e hai scavato una trappola.
  • Interrupt Moderation è un tiro alla fune tra throughput e latenza. Impostazioni più alte alleggeriscono la CPU ma aumentano la latenza.
  • Flow Control può aiutare a ridurre le cadute, ma può anche diffondere la congestione.
  • EEE / Green Ethernet / Selective Suspend sono impostazioni di risparmio energetico, non impostazioni di velocità.
  • VMQ / SR-IOV sono per host Hyper-V: non è una magia che accelera un normale PC desktop.
  • La riattivazione su Pattern Match provoca facilmente riattivazioni involontarie, quindi se tutto ciò che desideri è Wake on LAN, appoggiarsi a Magic Packet è più sicuro.
  • I vecchi oggetti come TCP Chimney Offload non dovrebbero essere toccati oggi.

In breve, le impostazioni avanzate della NIC non sono “un luogo in cui abilitare tutto ciò che sembra potente”. Sono un luogo in cui decidi quale velocità effettiva, latenza, CPU, consumo energetico e compatibilità vuoi perseguire, quindi tocca un elemento alla volta.

2. Dove trovare le impostazioni

2.1 Nella GUI

Tramite connessioni di rete

  1. Esegui ncpa.cpl
  2. Fare clic con il pulsante destro del mouse sull’adattatore di destinazione
  3. ProprietàConfigura
  4. Scheda Avanzate

Tramite Gestione dispositivi

  1. Gestione dispositivi
  2. Schede di rete
  3. Fare clic con il pulsante destro del mouse sulla NIC di destinazione → Proprietà
  4. Scheda Avanzate

Gli articoli elencati qui sono i protagonisti di questo articolo. Detto questo, anche le impostazioni nella scheda Risparmio energia contano molto nella pratica e ne parleremo più avanti.

2.2 Nel PowerShell

PowerShell semplifica l’elenco dei valori correnti e l’esecuzione di un backup prima di modificare qualsiasi cosa.

Get-NetAdapter

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Sort-Object DisplayName |
  Format-Table DisplayName, DisplayValue, RegistryKeyword, RegistryValue -Auto

Su alcuni NICs, RegistryKeyword utilizza nomi standardizzati e viene visualizzato come *RSS, *VMQ, *SRIOV, *EEE e così via. Tuttavia, DisplayName e DisplayValue dipendono dal driver. Quando si scrivono script di modifica, è più sicuro enumerare prima l’elenco sulla macchina reale.

3. Regole di base prima di toccare qualsiasi cosa

Salta questi prima di toccare le impostazioni NIC e quasi sicuramente finirai in una palude.

3.1 Decidi prima “cosa vuoi migliorare”

La stessa lamentela, “la rete è lenta”, può significare cose completamente diverse.

  • Le copie di file di grandi dimensioni sono lente → throughput, RSS, RSC, LSO, Jumbo, buffer
  • Le piccole richieste / risposte sembrano lente → Interrupt Moderation, RSC, EEE, profondità della coda
  • La CPU è alta → scarichi, RSS, RSC, interrupts
  • Le cose vanno male dopo la ripresa del sonno → Selective Suspend, Gestione energetica, WoL
  • Disconnessioni / calo occasionali a 100Mbps → cavo, dispositivo peer, Speed & Duplex, EEE, driver

Tocca le stesse impostazioni per obiettivi diversi e peggiorerai le cose, non migliori.

3.2 Sospettare innanzitutto il livello fisico e il dispositivo peer

Ci sono molti problemi che le impostazioni NIC non possono risolvere.

  • Cavi difettosi
  • Compatibilità switch / router / dock
  • Firmware vecchio
  • Sottodimensionato USB NICs
  • Errori sul lato sinistro
  • Perdita di pacchetti e ritrasmissioni

In particolare, per calo a 100 Mbps, collegamento instabile e solo interruzione dei trasferimenti in blocco, esaminare prima il livello fisico e il peer è più veloce che esaminare le impostazioni.

3.3 Modifica un elemento alla volta

Cambia Jumbo, LSO, RSC, RSS e EEE tutto in una volta e non saprai mai quale contava. Annota le impostazioni prima di modificarle, modifica un elemento alla volta e misura la differenza. Questa è la disciplina di base.

3.4 Decidere cosa misurare

Come minimo, vuoi guardare questi:

  • Velocità di collegamento (1G / 2,5G / 10G, ecc.)
  • Produttività
  • Latenza
  • Utilizzo della CPU
  • Statistiche NIC (perdite / errori / carenza di buffer)
  • Stabilità del sonno ripreso

I cambiamenti di impostazione sono molto più forti se giudicati dai numeri, non solo dalle sensazioni.

4. Le impostazioni principali in un’unica tabella

Innanzitutto, una tabella che mostra a colpo d’occhio il ruolo di ciascuna impostazione.

Impostazione Cosa fa Cosa tende ad accadere quando viene sollevato / abilitato Cosa tende ad accadere quando si abbassa / disabilita Politica di base
Velocità e duplex Negoziazione / velocità di collegamento pin e duplex Può connettersi con vecchi peer quando abbinato, ma le mancate corrispondenze causano discrepanze duplex e rallentamenti Il ritorno ad Auto è la scelta stabile con attrezzature moderne Automatico per impostazione predefinita
Pacchetto Jumbo / Cornici Jumbo Utilizza frame più grandi dello standard MTU Il sovraccarico della CPU e dell’intestazione diminuisce durante i trasferimenti di grandi dimensioni Alta compatibilità ma più pacchetti Solo su percorsi dedicati abbinati end-to-end
Checksum Offload La scheda NIC gestisce i checksum IP / TCP / UDP La CPU tende a diminuire Più calcoli lato OS, la CPU tende ad aumentare Abilitato di regola
LSO / TSO Segmenti NIC grandi TCP invia Aiuta a inviare un throughput elevato e CPU Maggiore carico della CPU, ma utile per l’isolamento della compatibilità Normalmente abilitato
RSC / LRO La scheda NIC si unisce ha ricevuto segmenti TCP Aiuta a ricevere throughput e CPU Granularità più fine, che può favorire una bassa latenza Abilitato se focalizzato sulla ricezione
RSS Distribuisci l’elaborazione della ricezione su CPUs Miglioramento del throughput / scalabilità su multi-core I colli di bottiglia si accumulano su una singola CPU Abilitato per impostazione predefinita su multi-core
Interrupt Moderation Frequenza acceleratore interrupt Allevia la CPU ma tende ad aggiungere latenza Riduce la latenza ma aumenta il carico della CPU / DPC Inizia da predefinito / Adattivo
Ricevi / Transmit Buffers Profondità anello / tampone Aiuta ad aumentare la tolleranza e la produttività sostenuta Meno utilizzo della memoria, ma più debole contro i cali Aumenta solo in caso di short
Flow Control Invia / ricevi frame di pausa 802.3x Può ridurre le gocce Può favorire la latenza della coda Allinearsi al design generale della rete
Priorità & VLAN Etichettatura 802.1p / 802.1Q Abilita VLAN / QoS Funziona come un semplice L2 Solo quando necessario
VMQ / SR-IOV Assistenza NIC per Hyper-V / virtualizzazione Aiuta VM throughput / CPU Più semplice come un normale host Per host Hyper-V
EEE / Green Ethernet Inattività a basso consumo per il risparmio energetico Potenza inferiore, ma si verificano problemi di compatibilità Più potenza, ma a volte più stabile Non è un’impostazione di velocità
Selective Suspend Riduci il consumo della scheda NIC quando è inattiva Potenza inferiore La stabilità del curriculum a volte migliora Un candidato da isolare in caso di difficoltà
Riattivazione Magic Packet / Pattern Match Condizioni di veglia durante il sonno Abilita l’avvio remoto Più facile prevenire scie involontarie Abilita solo quando necessario

5. Impostazioni del collegamento e della dimensione del frame

5.1 Velocità e fronte-retro

Questa impostazione regola la negoziazione della velocità di collegamento e full / half duplex. I nomi visualizzati includono Speed & Duplex, Link Speed e Link Speed & Duplex.

Cosa fa

In Ethernet, la scheda NIC e il dispositivo peer decidono quale velocità e duplex utilizzare.

Vedrai spesso opzioni come:

  • Negoziazione automatica
  • 100Mbps full-duplex
  • Full duplex da 1,0 Gbps
  • Full duplex da 2,5 Gbps
  • Full duplex da 10 Gbps

Cosa cambia quando lo cambi

Impostandolo su Automatico

  • Tra i dispositivi moderni, questo è fondamentalmente il più stabile
  • A 1000BASE-T e superiori, la modalità presupposta è spesso Auto
  • Si allinea bene anche con EEE e con la negoziazione master / slave

Appuntarlo manualmente

  • Può correggere la compatibilità con vecchi switch o peer a loro volta fissati
  • Tuttavia, uno stato come un lato bloccato / un lato Auto è una ricetta per gli incidenti
  • Una mancata corrispondenza duplex provoca rallentamenti, ritrasmissioni e ritardi bizzarri

Base pratica

Normalmente, lascialo su Auto. “Non raggiungerà 1 Gbps, quindi fissalo a 1 Gbps completo” sembra decisivo ma di solito non coglie la vera causa.

5.2 Pacchetto Jumbo / Frame Jumbo

Questa è l’impostazione per utilizzare frame Ethernet più grandi dello standard. I nomi visualizzati includono Jumbo Packet, Jumbo Frames e Jumbo Packet Size.

Cosa fa

Ethernet ordinaria di solito funziona con un MTU presunto di 1500. L’abilitazione dei frame Jumbo ti consente di utilizzare frame di grandi dimensioni di circa 9000 byte.

Ma quest’area è piena di trappole sui nomi.

  • I conducenti potrebbero visualizzare la dimensione del frame, come 9014 Bytes
  • OS e gli strumenti possono utilizzare la vista L3, come MTU 9000
  • I cambi possono contare inclusi i tag CRC o VLAN

Confronta i numeri grezzi fianco a fianco e verrai scoperto, come di consueto.

Cosa cambia quando lo cambi

Alzarlo / abilitarlo

  • Meno pacchetti durante l’invio di dati di grandi dimensioni
  • Meno passaggi di elaborazione dell’intestazione
  • L’utilizzo della CPU tende a diminuire
  • D’altra parte, ogni pacchetto occupa il cavo più a lungo
  • Se qualcosa lungo il percorso non lo supporta, provoca cadute o frammentazione

Ripristino standard / disattivazione

  • Massima compatibilità
  • Altri pacchetti
  • Il sovraccarico della CPU / intestazione aumenta durante i trasferimenti di massa

Base pratica

Jumbo significa qualcosa solo quando si allinea end-to-end:

  • la tua scheda di rete
  • NIC del peer
  • gli interruttori intermedi
  • l’overhead di eventuali VLANs o switch virtuali nel percorso

Se uno qualsiasi di questi rimane a 1500, non otterrai alcun beneficio e probabilmente nuovi problemi.

5.3 Modalità Gigabit Master / Slave

Su 1000BASE-T, questa impostazione riguarda quale lato guida l’orologio come master e quale segue come slave. Su un normale PC praticamente non lo tocchi mai.

Riferimento

  • Auto per impostazione predefinita
  • Valutalo solo per problemi di qualità del collegamento con apparecchiature specifiche del vecchio peer
  • A meno che il venditore non dica diversamente, non trattarlo come una manopola per la regolazione delle prestazioni

5.4 Attendere il collegamento e altre impostazioni dello stato del collegamento

Impostazioni come Wait for Link riguardano se il driver attende il successo della negoziazione automatica prima di segnalare lo stato del collegamento. Log Link State Event è una diagnostica che registra il collegamento attivo / inattivo nel registro eventi.

Riferimento

  • Il PCs ordinario può rimanere ai valori predefiniti
  • Sono più importanti per l’aspetto all’avvio e la diagnostica del failover che per le prestazioni grezze
  • Non oggetti da toccare per primi

6. Impostazioni che influiscono sul carico, sulla velocità effettiva e sulla latenza della CPU

Questa è la band che sembra più “promettente”. Spesso aiuta, ma la direzione dell’aiuto si divide in modo netto.

6.1 Checksum Offload

Inserisce il calcolo del checksum IP / TCP / UDP sulla scheda NIC.

Riferimento

  • Abilitato di regola
  • Tienilo se vuoi una CPU inferiore
  • Gli errori di checksum riscontrati nelle acquisizioni sono solitamente un artefatto dell’offload
  • Disattivarlo temporaneamente per l’isolamento della compatibilità va bene

6.2 Offload invio di grandi dimensioni (LSO) / TSO / Offload TCP Segmentazione

La scheda NIC suddivide i dati di invio TCP di grandi dimensioni in frame piccoli.

A cosa serve

  • Velocità di invio elevata
  • Utilizzo ridotto della CPU
  • Invii sostenuti più grandi

Riferimento

  • Normalmente abilitato
  • Se si sospetta la compatibilità di un’app o di un driver specifico, disattivalo temporaneamente e confrontalo

6.3 Coalescenza dei segmenti di ricezione (RSC)/Offload di ricezione di grandi dimensioni

Unisce più segmenti TCP sul lato di ricezione.

A cosa serve

  • Throughput lato ricezione
  • Utilizzo ridotto della CPU

Avvertenze

  • Può essere uno svantaggio per la bassa latenza o l’osservazione per pacchetto
  • Cambia leggermente il modo in cui dovrebbero essere interpretate le acquisizioni e le osservazioni temporali

Riferimento

  • Abilita se desideri ricevere throughput
  • Valutalo se ti interessa la latenza del piccolo traffico di richieste / risposte

6.4 Offload UDP più recenti (USO / URO)

Nelle versioni recenti di NICs e OS, potrebbero essere visualizzati anche offload più recenti per UDP invio / ricezione.

Riferimento

  • Anche se presente, all’inizio non allontanarsi dalle impostazioni predefinite
  • Misurare solo quando il conducente è sufficientemente nuovo e il carico di lavoro target è chiaro
  • Non forzarlo durante la risoluzione dei problemi

6.5 Scaling laterale di ricezione (RSS)

Gli spread vengono elaborati su più CPUs. Sulle macchine multi-core questo è molto importante.

Riferimento

  • Abilitato per impostazione predefinita su multi-core
  • Controllalo prima ogni volta che viene agganciata una singola CPU
  • È anche al centro della scena rispetto a Hyper-V e alle configurazioni ad alto rendimento

6.6 RSS Code / RSS Processori / RSS Profilo

Questi determinano il grado di parallelismo RSS.

Riferimento

  • Inizia dalle impostazioni predefinite
  • Aumentare solo dopo che l’utilizzo della CPU o la distorsione della coda sono visibili
  • Avviarlo alla cieca al massimo può aumentare il carico di interrupt e DPC

6.7 Interrupt Moderation / Interrupt Moderation Tariffa

Limita la frequenza interrupt, scambiando il carico della CPU con la latenza.

Tendenze

  • Superiore / Adattivo → Sollievo per la CPU, ma la latenza tende ad aumentare
  • Abbassa / Spento → Latenza inferiore, ma il carico della CPU / DPC tende ad aumentare

Riferimento

  • Inizia da predefinito / Adattivo
  • Valuta Basso / Spento se il jitter dei pacchetti piccoli ti disturba
  • Per i trasferimenti di massa, le impostazioni predefinite sono solitamente la scelta più sensata

6.8 Receive Buffers / Ricevi descrittori e Transmit Buffers / Trasmetti descrittori

Questi modificano la profondità degli anelli / respingenti.

Cosa aiutano

  • Tolleranza allo scoppio
  • Produttività sostenuta
  • Evitare le cadute

Effetti collaterali

  • Maggiore consumo di memoria
  • Code più profonde possono aggiungere ritardi nella coda

Riferimento

  • Aumentare solo quando sono visibili cadute o carenza di buffer
  • Evita “massimo, solo perché”

6.9 Flow Control

Riguarda l’invio e la ricezione di frame di pausa 802.3x.

Riferimento

  • Un candidato se vuoi meno gocce
  • Ma i frame in pausa possono diffondere la congestione altrove
  • Trattatelo con cautela nei sistemi a bassa latenza
  • Consideralo insieme alla progettazione complessiva della rete

7. VLAN, QoS e impostazioni di virtualizzazione

7.1 Priorità & VLAN / Priorità pacchetto & VLAN / NDIS QoS

La banda che gestisce la priorità 802.1Q VLANs e 802.1p.

Riferimento

  • Pensaci solo quando usi davvero VLAN / QoS
  • In un ambiente con porta di accesso semplice, le impostazioni predefinite vanno bene
  • Le configurazioni che taggano i frame implicitamente rendono l’isolamento più difficile: attenzione

7.2 VMQ / VMMQ / SR-IOV

Queste impostazioni diventano significative solo su host Hyper-V e piattaforme di virtualizzazione.

Riferimento

  • Non fa parte della normale ottimizzazione del desktop
  • In un host Hyper-V, valutarli insieme alla configurazione del vSwitch, all’assegnazione della coda e alle impostazioni lato guest
  • Guardando solo un lato raramente si ottiene la risposta giusta

7.3 RDMA / DCB / PFC sono un altro mondo

Quest’area, inclusa SMB Ethernet diretta e senza perdite, è davvero un mondo diverso.

Riferimento

  • Tienilo separato dalla normale ottimizzazione desktop 1GbE / 2.5GbE
  • Controllare la documentazione del fornitore insieme al design dello switch-side

8. Impostazioni di risparmio energetico, sospensione e Wake on LAN

8.1 Ethernet a risparmio energetico (EEE) / Green Ethernet

Riduce il consumo energetico durante il collegamento inattivo, per il risparmio energetico.

Come vederlo

  • Non è un’impostazione della velocità
  • Influisce sul consumo energetico
  • A seconda del dispositivo peer e del cablaggio, diventa un candidato all’isolamento per collegamenti instabili o downshift a 100 Mbps

Riferimento

  • Per uso generale, le impostazioni predefinite vanno bene
  • Per collegamenti instabili, downshift a 100 Mbps o utilizzo critico per la latenza, è un candidato al primo isolamento

8.2 Selective Suspend / Sospensione dispositivo / Controllo collegamento standby

In parole povere: quanto profondamente la scheda NIC può dormire quando è inattiva o durante la sospensione del sistema.

Riferimento

  • Sui laptop, inizia dalle impostazioni predefinite
  • Se ci sono problemi nel curriculum, sospettalo prima
  • Per il controllo dell’apparecchiatura PCs e il funzionamento 24 ore su 24, 7 giorni su 7, disabilitarlo completamente è spesso la scelta più chiara

8.3 Riattivazione al Magic Packet / Riattivazione al pattern Match

Questi riattivano un PC in sospensione sulla rete.

Riferimento

  • Se hai bisogno di Wake on LAN, abilita Magic Packet
  • In caso contrario, disabilita
  • Pattern Match solo quando la necessità è esplicita

Accenderlo solo sulla scheda NIC e non riattivarlo è del tutto normale. Controllare il lato BIOS / UEFI e la scheda Risparmio energia come insieme.

8.4 ARP Scarica / NS Scarica

La scheda NIC risponde al traffico minimo per conto del sistema anche durante la sospensione.

Riferimento

  • Normalmente abilitato / predefinito va bene
  • Viene toccato principalmente temporaneamente quando si isolano i problemi di compatibilità relativi al sonno

8.5 La scheda Gestione energetica

Separata dalla scheda Avanzate, le proprietà della scheda NIC dispongono di una scheda Risparmio energia. È anche silenziosamente importante.

I tre che vedi di più:

  • Consenti al computer di spegnere il dispositivo per risparmiare energia
  • Consenti al dispositivo di riattivare il computer
  • Consenti solo a magic packet di riattivare il computer

Riferimento

  • In caso di errori di ripristino, sospettare prima Allow the computer to turn off this device...
  • Per evitare scie spurie, abilitare Only allow a magic packet...
  • Se Wake on LAN non è necessario, tutte le impostazioni di riattivazione possono rimanere disabilitate

9. Altre impostazioni che vedi spesso ma che tocchi raramente

9.1 Indirizzo di rete / Indirizzo amministrato localmente

Un’impostazione che sostituisce manualmente l’indirizzo MAC.

Riferimento

  • Non toccarlo normalmente
  • Non è un’impostazione delle prestazioni
  • Utilizzare solo in ambienti di laboratorio o per esigenze particolari

9.2 Spaziatura adattiva tra i frame

Un vero veterano. Nella moderna Ethernet full-duplex commutata non ha alcun ruolo di primo piano.

Riferimento

  • Su un LAN moderno e ordinario, lasciare le impostazioni predefinite
  • Toccare solo quando vecchie apparecchiature o ambienti speciali vengono forniti con le istruzioni del fornitore

9.3 Divisione dei dati dell’intestazione

Principalmente orientato al server: aiuta l’elaborazione della CPU gestendo separatamente le intestazioni dei pacchetti e i payload.

Riferimento

  • Per server / carichi di lavoro specifici
  • Sui client generici, lasciare le impostazioni predefinite

9.4 Bassa latenza Interrupts

Alcuni fornitori espongono un articolo come Low Latency Interrupts.

Riferimento

  • Usalo solo quando la misurazione dimostra che vince
  • Non è una band che si accende con l’atmosfera

9.5 Vecchi elementi come TCP Chimney Offload / IPsec Task Offload

Potresti vederli sui vecchi NICs e driver.

Riferimento

  • Non toccare, non usare è la risposta corretta oggi
  • Non lasciarti trascinare dalle conoscenze sulla compatibilità o dai vecchi documenti

10. Guida approssimativa per obiettivo

10.1 Desktop / laptop ordinario

  • Velocità e duplex: Auto
  • MTU / Jumbo: 1500 / disabilitato
  • Checksum Offload: abilitato
  • LSO: abilitato
  • RSC: abilitato
  • RSS: abilitato
  • Interrupt Moderation: predefinito / Adattivo
  • Buffer: predefiniti
  • Flow Control: predefinito
  • EEE / Green Ethernet: predefinito
  • Selective Suspend: predefinito
  • Wake on LAN: solo quando necessario

In altre parole, non allontanarsi dalle impostazioni predefinite è la linea di base.

10.2 NAS / backup / copie di massa

  • Velocità e duplex: Auto
  • Jumbo: valuta se un percorso dedicato può essere abbinato end-to-end
  • Checksum Offload: abilitato
  • LSO: abilitato
  • RSC: abilitato
  • RSS: abilitato
  • Code RSS: aumentare leggermente se necessario
  • Ricezione / Transmit Buffers: aumentare leggermente se compaiono gocce
  • Interrupt Moderation: predefinito / leggermente più alto
  • EEE: valuta la disabilitazione se la stabilità viene prima

Per trasferimenti di grandi dimensioni, meno pacchetti, meno CPU ed evitare la carenza di code sono ciò che tende a ripagare.

10.3 Telecamere industriali / controllo apparecchiature / critici in termini di latenza

  • Velocità e duplex: Auto per impostazione predefinita; pin per abbinare il peer, se necessario
  • Jumbo: valuta se fotocamera / NIC / cambia tutta la linea
  • Checksum Offload: abilitato prima
  • LSO: valuta temporaneamente la disabilitazione se si sospetta la compatibilità lato invio
  • RSC: un candidato disabilitato quando la latenza o l’osservazione vengono prima
  • Interrupt Moderation: valuta Basso / Spento
  • Buffer: non effettuare un provisioning eccessivo
  • Flow Control: valuta gli effetti collaterali dei fotogrammi in pausa
  • EEE / Green Ethernet: un candidato disabile
  • Selective Suspend / gestione energetica: un candidato disabile

Le impostazioni ottimizzate per il throughput non sono automaticamente favorevoli alla bassa latenza.

10.4 Host Hyper-V

  • VMQ / VMMQ / SR-IOV: valutare per configurazione
  • RSS: importante per il traffico lato host
  • RSC: vincolato dalla configurazione del vSwitch
  • QoS / VLAN: allineato al design vSwitch
  • Flow Control / PFC: considerare insieme al design storage / RDMA

Non si tratta di un’ottimizzazione del desktop: si tratta di progettazione di una piattaforma di virtualizzazione.

10.5 Impostazioni temporanee per la risoluzione dei problemi

Quando si isola un difetto, tornare a un mondo semplice è potente.

  • Velocità e duplex: Auto
  • MTU: 1500
  • Jumbo: disabilitato
  • EEE: disabilitato
  • LSO: temporaneamente disabilitato
  • RSC: temporaneamente disabilitato
  • Interrupt Moderation: predefinito o inferiore
  • Riattivazione / risparmio energetico: disabilitato se non necessario
  • Impostazioni pre-modifica: sempre salvate

Nel lavoro isolato, semplificare il comportamento batte ottimizzare le prestazioni.

11. Primi posti in cui guardare, per sintomo

11.1 Dovrebbe essere 1 Gbps / 2,5 Gbps, ma è 100 Mbps

L’ordine di verifica è più o meno questo.

  1. Cavo
  2. Dock / scheda NIC USB / adattatore
  3. La porta lato switch
  4. Aggiornamento del driver
  5. EEE / Green Ethernet
  6. Riportare Velocità e duplex su Auto
  7. Se tutto il resto fallisce, prova un’impostazione bloccata abbinata al peer

Il blocco manuale viene effettuato per ultimo, non per primo.

11.2 I trasferimenti di massa sono lenti, ma il ping è normale

Cosa vuoi vedere:

  • Checksum Offload
  • LSO
  • RSC
  • RSS
  • Ricevi / Transmit Buffers
  • Jumbo Frames (se il percorso è dedicato)
  • Gocce / errori nelle statistiche NIC

Questo è un problema di throughput, quindi Jumbo, code e offload tendono ad essere ciò che aiuta.

11.3 La piccola latenza di richiesta / risposta è elevata o il jitter disturba

Le cinque cose da controllare:

  • Interrupt Moderation
  • RSC
  • EEE
  • Flow Control
  • Se i buffer sono stati sovradimensionati

In questa fascia, le ottimizzazioni in stile batch possono effettivamente aumentare la latenza percepita.

11.4 La scheda NIC scompare dopo la ripresa della modalità di sospensione / nessuna connettività per alcuni secondi

Concentrandosi sulla gestione energetica, le cinque cose da considerare:

  • Selective Suspend
  • Impostazioni relative alla sospensione / standby del dispositivo
  • Allow the computer to turn off this device... nella scheda Risparmio energia
  • Firmware dock / scheda di rete USB
  • La combinazione delle impostazioni di attivazione

I problemi di ripresa riguardano più spesso la gestione dell’alimentazione che la scheda NIC stessa.

11.5 Le catture di pacchetti mostrano moltissimi errori di checksum

Prima di lasciarsi prendere dal panico e dichiarare che “la linea è interrotta”, controlla questi.

  • Checksum Offload è abilitato?
  • LSO è abilitato?
  • La cattura viene effettuata prima della trasmissione o via cavo?
  • Sembra lo stesso da un altro host o da una porta mirror?

Gli errori di checksum in un’acquisizione locale sono, molto spesso, proprio come appare l’offload.

Il terzo punto, “la cattura avviene prima della trasmissione o sul cavo?”, merita una nota. Quando catturi sul tuo PC, vedi il pacchetto prima che la NIC calcoli e inserisca il checksum. Se l’offload è attivo, il campo checksum è ancora vuoto o temporaneo, quindi l’analizzatore lo segnala come errato. In realtà, sul cavo il pacchetto ha quasi sempre un checksum corretto.

Gli strumenti di verifica sono sostanzialmente questi tre.

Strumento Ruolo Note
Wireshark Analizzatore grafico classico Ha un’opzione per disabilitare la validazione del checksum; è il primo posto da sospettare in ambienti con offload
pktmon Strumento di monitoraggio pacchetti incluso di default in Windows 10 / Windows Server 2019 (1809) e successivi Nessuna installazione aggiuntiva. Permette anche di rilevare drop e applicare filtri
Porta mirror dello switch L’unico modo sicuro per vedere sul cavo Si guarda al di fuori del PC di origine, quindi non è influenzata dall’offload

I log di pktmon possono essere convertiti in pcapng e aperti direttamente in Wireshark.

pktmon etl2pcap log.etl --out capture.pcapng

Se “in locale si vedono checksum error, ma sulla porta mirror sono normali”, si tratta con certezza dell’effetto dell’offload. Conferma prima di toccare le impostazioni.

11.6 Solo Hyper-V VMs sono lenti / La CPU è distorta

Cosa guardare va oltre lo stile desktop RSS.

  • VMQ / VMMQ
  • SR-IOV
  • Associazione vSwitch
  • VLAN / QoS
  • La divisione del lavoro tra le code lato host RSS e lato VM

Nella virtualizzazione, disegnare un’immagine di chi sta effettivamente elaborando i pacchetti rende le cose molto più facili da risolvere.

12. Note pratiche per il controllo e la modifica tramite PowerShell

12.1 Salvare prima lo stato corrente

Un backup prima di cambiare le cose.

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Select-Object Name, DisplayName, DisplayValue, RegistryKeyword, RegistryValue |
  Export-Csv .\nic-advanced-backup.csv -NoTypeInformation -Encoding UTF8

12.2 Elencare le impostazioni

Get-NetAdapterAdvancedProperty -Name "Ethernet" |
  Sort-Object DisplayName |
  Format-Table DisplayName, DisplayValue, RegistryKeyword -Auto

12.3 Controlla RSS / RSC / statistiche

Get-NetAdapterRss -Name "Ethernet"
Get-NetAdapterRsc -Name "Ethernet"
Get-NetAdapterStatistics -Name "Ethernet"

12.4 Esempi di modifiche

I nomi visualizzati effettivi differiscono in base alla scheda NIC, quindi elencali prima, quindi modificali.

# Example: change Jumbo Packet (values differ per NIC)
Set-NetAdapterAdvancedProperty -Name "Ethernet" `
  -DisplayName "Jumbo Packet" `
  -DisplayValue "9014 Bytes"
# Example: set the number of RSS receive queues
Set-NetAdapterRss -Name "Ethernet" -NumberOfReceiveQueues 4

12.5 Verifica della connettività Jumbo

# Equivalent to standard MTU 1500
ping <peer IP> -f -l 1472

# Equivalent to MTU 9000
ping <peer IP> -f -l 8972

1472 e 8972 sono le dimensioni del carico utile dopo aver sottratto le intestazioni IP / ICMP. 9014 Bytes dell’UI del driver e questi numeri di ping non corrispondono tra loro.

12.6 Note pratiche

  • Alcune impostazioni richiedono la disattivazione / riattivazione dell’adattatore o il riavvio
  • DisplayName potrebbe essere localizzato
  • Anche all’interno dello stesso fornitore, i nomi degli articoli possono cambiare con la versione del driver
  • Se si automatizza con PowerShell, è più sicuro enumerare prima i valori sulla macchina reale, quindi scrivere

A giudicare solo dai nomi degli elementi, ogni impostazione avanzata della NIC Windows sembra “potente”. In realtà, questo è un mondo in cui la risposta giusta cambia a seconda che tu stia cercando throughput, latenza, CPU, potenza o compatibilità.

Riassumendo i punti chiave di questo articolo:

  • Velocità e duplex rimangono su Auto per impostazione predefinita
  • Jumbo solo quando si allinea end-to-end
  • Checksum / RSS / LSO / RSC: i valori predefiniti sono forti, di regola
  • Interrupt Moderation è un compromesso tra throughput e latenza
  • Buffer: solo quanto necessario
  • EEE / Selective Suspend / Le impostazioni di riattivazione riguardano l’alimentazione e la ripresa
  • VMQ / SR-IOV sono una questione Hyper-V
  • Non toccare i vecchi oggetti scaricati

E le tre cose che contano di più:

  1. Decidi cosa vuoi migliorare
  2. Cambia un elemento alla volta
  3. Confronta prima e dopo con i numeri

Le impostazioni della scheda NIC non sono un interruttore magico per accelerare. Ma quando l’obiettivo è giusto, ripagano notevolmente. Quando l’obiettivo non è raggiunto, si ritorcono contro altrettanto facilmente.

14. Riferimenti

Di seguito sono riportati i materiali ufficiali e dei fornitori su cui è stato basato questo articolo. I driver Windows e NIC variano molto nella terminologia, quindi alla fine è più sicuro verificare con il nome del driver e la versione della propria NIC.

Articoli recenti con gli stessi tag per approfondire argomenti vicini.

Queste pagine collocano l’argomento in un contesto più ampio di servizi e decisioni.

L’articolo è direttamente collegato ai servizi seguenti.

Consulenza tecnica e revisione del progetto

Questo argomento richiede di guardare oltre le sole impostazioni della NIC, ovvero il percorso di rete, i modelli di invio / ricezione dell'applicazione e le condizioni operative di lunga durata, quindi si abbina bene alla consulenza tecnica e alla revisione della progettazione.

Analisi dei bug e delle cause

L'isolamento delle interruzioni dei collegamenti, dei downshift a 100 Mbps, degli errori di ripresa e del degrado del throughput è una soluzione naturale per il nostro servizio di indagine dei bug e di analisi delle cause principali.

Domande frequenti

Domande che ricorrono nelle consulenze sull’argomento dell’articolo.

Devo impostare manualmente Velocità e Duplex o lasciarlo su Auto?
Lascialo su Auto per impostazione predefinita. Tra i dispositivi moderni, la negoziazione automatica è fondamentalmente la più stabile e a 1000BASE-T e superiori è spesso la modalità presupposta. Il blocco manuale può correggere la compatibilità con vecchi switch che sono essi stessi fissati, ma uno stato in cui un lato è bloccato e l'altro è Auto è una ricetta per mancata corrispondenza duplex, ritrasmissioni e ritardi bizzarri. Quando un collegamento scende a 100 Mbps, controlla prima il cavo, il dock o la scheda NIC USB, cambia porta, driver e EEE: un'impostazione bloccata è l'ultima risorsa, non la prima.
Devo abilitare i Jumbo Frames sul mio Windows PC?
Solo quando si allinea end-to-end: la tua scheda NIC, la scheda NIC del peer, gli switch intermedi e l'overhead di qualsiasi VLANs o switch virtuale devono tutti supportare la dimensione del frame maggiore. Se un collegamento qualsiasi nel percorso rimane a MTU 1500, non si ottiene alcun vantaggio e probabilmente nuovi problemi come interruzioni o frammentazione. Fai attenzione anche alle trappole dei nomi: i driver potrebbero mostrare la dimensione del frame come 9014 byte mentre OS parla di MTU 9000 - e verifica la connettività con ping utilizzando il flag -f e un payload di 8972 byte per MTU 9000.
Quali offload NIC dovrebbero rimanere abilitati?
Di norma, mantieni Checksum Offload, RSS, LSO e RSC abilitati o ai valori predefiniti: disattivarli tutti con noncuranza tende a sprecare CPU. RSS è importante soprattutto su macchine multi-core ogni volta che una singola CPU è ancorata all'elaborazione di rete e RSC aiuta il throughput lato ricezione, sebbene possa rappresentare uno svantaggio per il traffico di richiesta / risposta ridotto e a bassa latenza. Vecchi oggetti come TCP Chimney Offload e IPsec Task Offload non dovrebbero essere toccati oggi. Gli errori di checksum riscontrati nelle acquisizioni di pacchetti locali sono solitamente solo un artefatto dell'offload, non una linea spezzata.
Perché la mia scheda NIC scompare o si guasta dopo la ripresa della modalità di sospensione?
I problemi di ripresa riguardano più spesso la gestione dell'alimentazione che la scheda NIC stessa. Sospettare innanzitutto le impostazioni Selective Suspend e di sospensione del dispositivo, insieme a "Consenti al computer di spegnere il dispositivo per risparmiare energia" nella scheda Risparmio energia, nel dock o nel firmware NIC USB e alla combinazione delle impostazioni di riattivazione. Per il controllo dell'apparecchiatura PCs e il funzionamento 24 ore su 24, 7 giorni su 7, disabilitare completamente le opzioni di risparmio energetico è spesso la scelta più chiara e, se è necessario Wake on LAN, fare affidamento su Magic Packet anziché su Pattern Match, che provoca facilmente riattivazioni involontarie.

Profilo dell’autore

Pagina di presentazione dell’autore dell’articolo.

Go Komura

Rappresentante di KomuraSoft LLC

Specializzato nello sviluppo di software Windows, nella consulenza tecnica e nell’analisi dei malfunzionamenti, soprattutto nei progetti con sistemi esistenti e guasti difficili da riprodurre.

Torna al blog