Finjustering och optimering av NIC
Optimera inställningar för Network Interface Card (NIC), inklusive avlastningsfunktioner och köhantering, för högre genomströmning.
Finjustering och optimering av NIC är en gratis lektion i Linux-nätverk och TCP/IP för utvecklare på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Linux-nätverk och TCP/IP för utvecklare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Linux-nätverk och TCP/IP för utvecklare innehåller totalt 4 lektioner.
Introduktion till NIC-justering
Välkommen till justering och optimering av NIC! I den här lektionen utforskar vi hur du finjusterar ditt Network Interface Card (NIC) för bättre prestanda.
Ett NIC är den maskinvara som ansluter datorn till ett nätverk. Genom att optimera inställningarna kan du avsevärt förbättra nätverkets genomströmning och minska processorbelastningen.
Hitta dina nätverksgränssnitt
Innan du börjar justera inställningarna behöver du känna till namnet på ditt NIC. Kommandot ip link listar alla nätverksgränssnitt i Linux-systemet och visar deras status och namn.
Vanliga namn är eth0, enp0s3 eller wlan0 för Wi-Fi.
ip link showMöt ethtool: ditt NIC-verktyg
ethtool är det primära kommandoradsverktyget i Linux för att fråga efter och styra inställningar för NIC-drivrutiner och NIC-maskinvara. Det är oumbärligt för prestandajustering.
Du kan använda det för att granska hastighet, duplexinställningar, offload-funktioner och mycket annat.
ethtool eth0Granska NIC-funktioner
En av de kraftfulla funktionerna i ethtool är att visa vilka funktioner för maskinvaruoffload ditt NIC stöder och vilka som är aktiverade för närvarande.
Det hjälper dig att förstå om ditt NIC kan hantera vissa nätverksuppgifter i stället för processorn.
ethtool -k eth0Förstå offloading
Offloading innebär att nätverksbearbetning delegeras från huvudprocessorn till NIC:ets specialiserade maskinvara. Det frigör processorcykler för andra program.
- Checksum Offload: NIC beräknar eller verifierar kontrollsummor för IP, TCP eller UDP.
- Segmentation Offload: NIC hanterar segmenteringen av stora datablock.
Dessa funktioner är avgörande för nätverk med hög prestanda.
TSO och GRO förklarade
Två viktiga avlastningsfunktioner är TSO och GRO:
- TSO (TCP Segmentation Offload): Gör det möjligt för operativsystemet att skicka en stor datamängd (upp till 64 KB) till NIC:et, som sedan delar upp den i mindre TCP-paket.
- GRO (Generic Receive Offload): Slår ihop flera inkommande paket till ett enda större paket innan det skickas vidare till kärnan, vilket minskar bearbetningskostnaden.
Båda förbättrar prestandan vid stora dataöverföringar.
Konfigurera avlastningsfunktioner
Du kan aktivera eller inaktivera specifika avlastningsfunktioner med ethtool -K. Var försiktig när du ändrar dessa inställningar, eftersom felaktiga inställningar ibland kan försämra prestandan eller orsaka problem.
Testa alltid ändringar i en kontrollerad miljö.
sudo ethtool -K eth0 rx-checksum on
sudo ethtool -K eth0 tso offÖversikt över NIC-köer
Nätverkskort använder köer för mottagning (RX) och sändning (TX) för att buffra paket. Flera köer är särskilt fördelaktiga på processorer med flera kärnor, eftersom olika kärnor då kan bearbeta olika köer.
- Fler köer kan förbättra parallelliteten.
- Större köer kan förhindra paketförluster vid tillfälliga trafiktoppar.
Hantera inställningar för NIC-köer
Du kan visa och ändra antalet RX-/TX-köer med ethtool.
ethtool -g eth0: Visar aktuella och maximala köinställningar.ethtool -L eth0 rx 4 tx 4: Anger antalet RX- och TX-köer till 4.
Genom att justera dessa inställningar kan du fördela nätverkstrafiken mellan processorkärnorna.
ethtool -g eth0Snabbtest: justera NIC
Föreställ dig att din server har hög CPU-användning vid kraftig nätverkstrafik och att du misstänker att NIC:et inte avlastar uppgifter effektivt.
Vilket ethtool-kommando skulle du använda för att kontrollera den aktuella statusen för avlastningsfunktionerna?
Sammanfattning och nästa steg
Bra jobbat! Du har lärt dig att undersöka och optimera ditt Linux-nätverkskort.
- Vi gick igenom hur du identifierar NIC:er med
ip link. - Du fick lära dig använda
ethtoolför att kontrollera och konfigurera NIC-inställningar. - Vi utforskade avlastningsfunktioner som Checksum, TSO och GRO.
- Du lärde dig också att hantera RX-/TX-köer för bättre parallellitet.
Med dessa justeringstekniker kan du förbättra nätverkets prestanda avsevärt. Fortsätt öva med ethtool!
Lär dig Linux-nätverk och TCP/IP för utvecklare med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Finjustering och optimering av NIC” gratis?
Ja – hela texten till ”Finjustering och optimering av NIC” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Linux-nätverk och TCP/IP för utvecklare, kan Ni uppgradera till CoddyKit PRO. Kursen i Linux-nätverk och TCP/IP för utvecklare innehåller totalt 4 lektioner.
Vad lär jag mig i ”Finjustering och optimering av NIC”?
Optimera inställningar för Network Interface Card (NIC), inklusive avlastningsfunktioner och köhantering, för högre genomströmning. Ni övar på Linux-nätverk och TCP/IP för utvecklare med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Linux-nätverk och TCP/IP för utvecklare?
Du behöver inga förkunskaper. Utbildningen i Linux-nätverk och TCP/IP för utvecklare på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Finjustering och optimering av NIC”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Linux-nätverk och TCP/IP för utvecklare-lektionen?
Ja. Varje Linux-nätverk och TCP/IP för utvecklare-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Nätverksparametrar i kärnan
- Finjustering och optimering av NIC
- Mäta nätverkets genomströmning
- Finjustera TCP:s trängselkontroll