10gbit, olika resultat beroende på riktning

Permalänk
Medlem

10gbit, olika resultat beroende på riktning

Hej, jag har ett problem med mitt 10gbit nätverk.
När jag gör mätningar mellan en Windows 10 dator och en virtualiserad Nas4Free server och får jag ca 4gbit från Nas till PC, och runt 8gbit PC till Nas. Finns ju tusen olika inställningar i Windows 10 men i Nas4Free finns i stort sett ingenting, inte i Esxi heller som Nasen ligger på. Recieve och Send buffer inställningarna på Windows datorn är satt på samma (4096). Testat med Jumbo och utan med samma resultat. Borde hastigheterna inte vara samma åt båda håll? Tacksam för hjälp

https://imgur.com/FzgishX
https://imgur.com/VHZ53QL

Visa signatur

Stationär: Ryzen 9 3900X | ASUS STRIX B550-F GAMING | 16GB DDR4 3200MHz | Asus RTX 4070 12GB Dual OC | 2TB Samsung 980 PRO | Apple LED Cinema Display 27 | Bärbar: iPad Pro 12.9 2022 M1
Server: Xeon E3 1280v2 | 16GB DDR3 ECC | 4x8TB Raidz | Esxi

Permalänk
Medlem

Du kör en NAS i VM och tycker det är märkligt du inte får max fart?

Problemet med att virtualisera ett system är att gäst-vm alltid måste vänta på CPU tid. Under tiden den väntar på CPU tid så kommer datapaketen in, och även små fördröjjningar i hantering av dessa kan visa sig på låg genomströmning (relativt sett då).

Kör maskinen fysiskt så får nätverket rätt prio i ordningen och då kommer du se bättre prestanda.

Detta är samma anledning varför man inte ska köra en router/nat/gateway i VM. Lekman kanske inte märker skilladen mellan det och en fysisk maskin, men saker som ojämn ping, jitter och opålitlig prestanda är något man märker snabbt om man är ute efter maximal prestanda.

Permalänk
Medlem
Skrivet av boibo:

Du kör en NAS i VM och tycker det är märkligt du inte får max fart?

Problemet med att virtualisera ett system är att gäst-vm alltid måste vänta på CPU tid. Under tiden den väntar på CPU tid så kommer datapaketen in, och även små fördröjjningar i hantering av dessa kan visa sig på låg genomströmning (relativt sett då).

Kör maskinen fysiskt så får nätverket rätt prio i ordningen och då kommer du se bättre prestanda.

Detta är samma anledning varför man inte ska köra en router/nat/gateway i VM. Lekman kanske inte märker skilladen mellan det och en fysisk maskin, men saker som ojämn ping, jitter och opålitlig prestanda är något man märker snabbt om man är ute efter maximal prestanda.

Jag förstår inte hur det du skriver, förklarar TS situation.

Hans problem, som jag förstår det, är att han skriver till VM:et, med dubbelt så hög hastighet, mot vad han läser ifrån VM:et.

Det kan vara jag som är dum och inte förstår, det har hänt förr.

Mvh

Jonas

Permalänk
Medlem
Skrivet av boibo:

Du kör en NAS i VM och tycker det är märkligt du inte får max fart?

Problemet med att virtualisera ett system är att gäst-vm alltid måste vänta på CPU tid. Under tiden den väntar på CPU tid så kommer datapaketen in, och även små fördröjjningar i hantering av dessa kan visa sig på låg genomströmning (relativt sett då).

Kör maskinen fysiskt så får nätverket rätt prio i ordningen och då kommer du se bättre prestanda.

Detta är samma anledning varför man inte ska köra en router/nat/gateway i VM. Lekman kanske inte märker skilladen mellan det och en fysisk maskin, men saker som ojämn ping, jitter och opålitlig prestanda är något man märker snabbt om man är ute efter maximal prestanda.

Tack för svaret. För tillfället kör jag nätverkskortet virtualiserat men har testat passthrough till Nas4Free med samma resultat. Denna rädsla för virtualiserade filservrar och routrar är otroligt uttjatat och får diskuteras i någon annan tråd. Ser inte hur det skulle påverka prestandan, Esxi har vad jag förstått inga problem med intels x540 10gbit kort och tycker därför jag borde få ut samma hastighet åt båda håll oavsett virtualiserad NAS. Jag får felsöka vidare.

Visa signatur

Stationär: Ryzen 9 3900X | ASUS STRIX B550-F GAMING | 16GB DDR4 3200MHz | Asus RTX 4070 12GB Dual OC | 2TB Samsung 980 PRO | Apple LED Cinema Display 27 | Bärbar: iPad Pro 12.9 2022 M1
Server: Xeon E3 1280v2 | 16GB DDR3 ECC | 4x8TB Raidz | Esxi

Permalänk
Medlem
Skrivet av Lilak:

Jag förstår inte hur det du skriver, förklarar TS situation.

Hans problem, som jag förstår det, är att han skriver till VM:et, med dubbelt så hög hastighet, mot vad han läser ifrån VM:et.

Det kan vara jag som är dum och inte förstår, det har hänt förr.

Mvh

Jonas

Ja precis så, mycket konstigt tycker jag. Hade det varit samma låga hastighet åt båda håll hade det funnits hundra inställningar och testa.

Visa signatur

Stationär: Ryzen 9 3900X | ASUS STRIX B550-F GAMING | 16GB DDR4 3200MHz | Asus RTX 4070 12GB Dual OC | 2TB Samsung 980 PRO | Apple LED Cinema Display 27 | Bärbar: iPad Pro 12.9 2022 M1
Server: Xeon E3 1280v2 | 16GB DDR3 ECC | 4x8TB Raidz | Esxi

Permalänk
Medlem

Jag hade liknande i min gamla unraid server, dvs från Server A till Server B fick jag 9.6gbits och från Server B till Server A fick jag runt 5-6gbits.

Jag drog då den slutsatsen att Server B helt enkelt hade för svag CPU för att kunna driva Iperf -S i 10gbits..
Jag ändrade då Server B till en kraftfullare CPU, med exakt samma settings och annan hårdvara som innan, och fick 9.6gbits åt båda hållen..

Permalänk
Medlem
Skrivet av ZzaazZ:

Jag hade liknande i min gamla unraid server, dvs från Server A till Server B fick jag 9.6gbits och från Server B till Server A fick jag runt 5-6gbits.

Jag drog då den slutsatsen att Server B helt enkelt hade för svag CPU för att kunna driva Iperf -S i 10gbits..
Jag ändrade då Server B till en kraftfullare CPU, med exakt samma settings och annan hårdvara som innan, och fick 9.6gbits åt båda hållen..

Tack för svaret. Det låter rimligt, får testa att ge Nas4Free fler kärnor och köra passthrough på nätverkskortet och se om det hjälper.

Visa signatur

Stationär: Ryzen 9 3900X | ASUS STRIX B550-F GAMING | 16GB DDR4 3200MHz | Asus RTX 4070 12GB Dual OC | 2TB Samsung 980 PRO | Apple LED Cinema Display 27 | Bärbar: iPad Pro 12.9 2022 M1
Server: Xeon E3 1280v2 | 16GB DDR3 ECC | 4x8TB Raidz | Esxi

Permalänk
Medlem
Skrivet av Pengen:

Tack för svaret. Det låter rimligt, får testa att ge Nas4Free fler kärnor och köra passthrough på nätverkskortet och se om det hjälper.

Tumregeln för VM'ar är två vCPU'er om du inte har nån speciell workload som drar nytta av fler (väldigt sällsynt, MS SQL är den enda jag kan komma på). En vCPU ska man aldrig ha då VM'en kommer sluta svara om en process hänger sig.

Permalänk
Medlem
Skrivet av Krippa75:

Tumregeln för VM'ar är två vCPU'er om du inte har nån speciell workload som drar nytta av fler (väldigt sällsynt, MS SQL är den enda jag kan komma på). En vCPU ska man aldrig ha då VM'en kommer sluta svara om en process hänger sig.

NASen sitter inne på 3 vCPU för att testa men varken Esxi, VM eller PC är ens i närheten av 100% vid belastning. Felsökandet går vidare, tror det är vSwitchen som bråkar.

Visa signatur

Stationär: Ryzen 9 3900X | ASUS STRIX B550-F GAMING | 16GB DDR4 3200MHz | Asus RTX 4070 12GB Dual OC | 2TB Samsung 980 PRO | Apple LED Cinema Display 27 | Bärbar: iPad Pro 12.9 2022 M1
Server: Xeon E3 1280v2 | 16GB DDR3 ECC | 4x8TB Raidz | Esxi

Permalänk
Medlem
Skrivet av Pengen:

NASen sitter inne på 3 vCPU för att testa men varken Esxi, VM eller PC är ens i närheten av 100% vid belastning. Felsökandet går vidare, tror det är vSwitchen som bråkar.

Hur många andra VMar har du, och hur många vCPUS har dem i jämfört med hostens pCPU:er ? För många vCPUer på för få fysiska kärnor kan ge problem med scheduling.

Och vad har nu för NIC i den stationära, X540 där också?

Permalänk
Medlem

Jag tycker processorn stör rätt mycket på iperf-mätningar. Har du provat mäta med udp?

Permalänk
Medlem
Skrivet av Krippa75:

Tumregeln för VM'ar är två vCPU'er om du inte har nån speciell workload som drar nytta av fler (väldigt sällsynt, MS SQL är den enda jag kan komma på). En vCPU ska man aldrig ha då VM'en kommer sluta svara om en process hänger sig.

Hur tänker du nu? Det är ju OS i VMen som styr processer i VM. Hänger en process kan OS avbryta denna oavsett hur många kärnor CPU har. Mig veterligen var det inte så att hela maskiner hängde sig bara för att de hade en CPU-kärna på den tiden det begav sig. Detta gäller såklart även om man virtualiserar OS. Vi har haft "process isolation" sedan Windows NT 3.1.

Permalänk
Medlem
Skrivet av Pengen:

NASen sitter inne på 3 vCPU för att testa men varken Esxi, VM eller PC är ens i närheten av 100% vid belastning. Felsökandet går vidare, tror det är vSwitchen som bråkar.

Har du prova kört flera sessioner av iperf samtidigt?
Iperf är väl single thread och bör därför bara kunna nyttja ca 33% av din 3 core vm.

http://fasterdata.es.net/performance-testing/network-troubles...

Skrivet av beh:

Hur tänker du nu? Det är ju OS i VMen som styr processer i VM. Hänger en process kan OS avbryta denna oavsett hur många kärnor CPU har. Mig veterligen var det inte så att hela maskiner hängde sig bara för att de hade en CPU-kärna på den tiden det begav sig. Detta gäller såklart även om man virtualiserar OS. Vi har haft "process isolation" sedan Windows NT 3.1.

Med hänger sig kanske han menar det går så slött (om en process maxar den enda coren) att maskinen blir svår att nå eller arbeta med.
Inte nödvändigtvis att hela maskinen crashar.

Permalänk
Medlem
Skrivet av beh:

Hur tänker du nu? Det är ju OS i VMen som styr processer i VM. Hänger en process kan OS avbryta denna oavsett hur många kärnor CPU har. Mig veterligen var det inte så att hela maskiner hängde sig bara för att de hade en CPU-kärna på den tiden det begav sig. Detta gäller såklart även om man virtualiserar OS. Vi har haft "process isolation" sedan Windows NT 3.1.

Hypervisorn hanterar allt sådant, det finns ingen direkt koppling mellan vCPU'er och fysiska cores.
Ett par nyttiga länkar gällande detta (bägge gäller Hyper-V men det mesta är applicerbart även på andra hypervisors):
http://social.technet.microsoft.com/wiki/contents/articles/12...
https://social.technet.microsoft.com/Forums/azure/en-US/0e862...

Permalänk
Medlem
Skrivet av Krippa75:

Hypervisorn hanterar allt sådant, det finns ingen direkt koppling mellan vCPU'er och fysiska cores.
Ett par nyttiga länkar gällande detta (bägge gäller Hyper-V men det mesta är applicerbart även på andra hypervisors):
http://social.technet.microsoft.com/wiki/contents/articles/12...
https://social.technet.microsoft.com/Forums/azure/en-US/0e862...

Ja jag är medveten om att en virtualiserad kärna inte är en fysisk kärna, utan representerar CPU tid på precis samma sätt som den nyttjandegrad man kan se genom TOP eller Task Manager. En vCPU av 8 vCPUer som belastas 100% belastar modersystemet med 1/8 = 12,5 %.

Det jag undrar om du kan förklara är varför en VM med 1 vCore skulle löpa större risk att hänga sig än en med fler.

Skrivet av Krippa75:

En vCPU ska man aldrig ha då VM'en kommer sluta svara om en process hänger sig.

Permalänk
Medlem
Skrivet av beh:

Ja jag är medveten om att en virtualiserad kärna inte är en fysisk kärna, utan representerar CPU tid på precis samma sätt som den nyttjandegrad man kan se genom TOP eller Task Manager. En vCPU av 8 vCPUer som belastas 100% belastar modersystemet med 1/8 = 12,5 %.

Det jag undrar om du kan förklara är varför en VM med 1 vCore skulle löpa större risk att hänga sig än en med fler.

Den löper inte större risk att hänga sig men om en process ballar ur kommer maskinen sluta svara eftersom andra processer inte kommer få någon processortid.
Har du i ditt räkneexempel valt att hårt låsa dina vCPUer mot fysiska cores stämmer det.

Permalänk
Medlem
Skrivet av Krippa75:

Den löper inte större risk att hänga sig men om en process ballar ur kommer maskinen sluta svara eftersom andra processer inte kommer få någon processortid.
Har du i ditt räkneexempel valt att hårt låsa dina vCPUer mot fysiska cores stämmer det.

Om detta sker så är det något fel med schemaläggaren i OS:et, inte hypervisorn eller antalet tilldelade kärnor, något vi sällan bör se i moderna operativsystem.

Permalänk
Medlem
Skrivet av Krippa75:

Den löper inte större risk att hänga sig men om en process ballar ur kommer maskinen sluta svara eftersom andra processer inte kommer få någon processortid.
Har du i ditt räkneexempel valt att hårt låsa dina vCPUer mot fysiska cores stämmer det.

Skrivet av Soir:

Om detta sker så är det något fel med schemaläggaren i OS:et, inte hypervisorn eller antalet tilldelade kärnor, något vi sällan bör se i moderna operativsystem.

Precis vad jag försöker komma fram till. Det finns ingen anledning att allokera flera kärnor för att slippa att systemet låser sig.

Permalänk
Medlem

Följer denna tråden! Sitter själv med ett X540-t2 i min ESXi server.
Jag kör iperf på windows 10 samt på virtualiserad pfsense i servern.

Kommer upp i 7Gbit när servern är på Windows 10 och klienten på pfsense.
Med klienten på windows 10 och servern på pfsense kommer jag upp i 4Gbit.

Väldigt intressant fenomen.

Permalänk
Medlem
Skrivet av beh:

Precis vad jag försöker komma fram till. Det finns ingen anledning att allokera flera kärnor för att slippa att systemet låser sig.

Hoppas du inte citerade mig i tron om att jag säger något annat

Permalänk
Medlem
Skrivet av xervz:

Följer denna tråden! Sitter själv med ett X540-t2 i min ESXi server.
Jag kör iperf på windows 10 samt på virtualiserad pfsense i servern.

Kommer upp i 7Gbit när servern är på Windows 10 och klienten på pfsense.
Med klienten på windows 10 och servern på pfsense kommer jag upp i 4Gbit.

Väldigt intressant fenomen.

Då är man inte ensam iaf! Har inte lagt så mkt mer tid på felsökning än men utesluter att det skulle ha med processorn att göra. Kanske Esxis drivrutiner eller den virtuella switchen.

Visa signatur

Stationär: Ryzen 9 3900X | ASUS STRIX B550-F GAMING | 16GB DDR4 3200MHz | Asus RTX 4070 12GB Dual OC | 2TB Samsung 980 PRO | Apple LED Cinema Display 27 | Bärbar: iPad Pro 12.9 2022 M1
Server: Xeon E3 1280v2 | 16GB DDR3 ECC | 4x8TB Raidz | Esxi