Lieve tweakersvriendjes en vriendinnetjes,
Ik zit met een klein probleempje waar ik niet uit kom. Het zit namelijk zo, ik heb een toffe nieuwe NAS gebouwd met een 10Gbps LAN kaartje. Desktopje ge-upgrade met een zelfde modelletje 10Gbps kaart, switchje er tussen die twee 10Gbps poorten heeft en de rest 1Gbps.
Zodoende kan de desktop met volle snelheid tegen een leuk 6x6TB RAID5 arraytje babbelen, zo was de gedachte.
Helaas blijkt de werkelijkheid iets weerbarstiger.
Situatieschets:
Desktop:
- Skylake i5-6500
- 16GB DDR4 RAM (2*8G)
- Samsung 950 Pro 512GB
- Intel X540-T2 dualport 10GbE LAN adapter (PCIe x8)
- OS: Windows 10 Home
NAS:
- Coffeelake i3-8100T
- 8GB DDR4 RAM (2*4G)
- 6x6TB WD Red in MDADM RAID5
- Sandisk Ultra USB3 stickje als boot drive
- Intel X540-T2 dualport 10GbE LAN adapter (PCIe x8)
- OS: OpenMediaVault 4 (laatste versie, Debian 9 based)
Deze twee machines zijn met elkaar verbonden via een Netgear GS110MX switch. Deze heeft twee 10GbE poorten en 8x 1Gbps poorten. De bekabeling is 2meter Cat7 SSTP (stranded CU) met shielded connectoren naar de PC en 10meter naar de NAS.
Link indicatie geeft netjes 10Gbps Full Duplex aan voor beide machines. Ook de indicatie in software bevestigt dit.
De rest van het LAN (o.a. een Cisco kabelmodem van Ziggo en diverse client devices (printers, twee QNAP NASsen, etc) hangt er via de 1Gbps poorten bij aan met Cat5E bekabeling.
Echter is nu het issue dat zowel Samba (Windows shares) als iPerf tests blijven steken rond de 3Gbps tussen de PC en NAS.
Wat ik al gevonden of geprobeerd heb
Op de Windows bak zijn de laatste drivers van Intel geïnstalleerd. De ProSet utility gebruikt om de recieve en transmit buffers op te schroeven naar maximaal. Jumboframes geactiveerd en de MTU op 9014 gezet.
Op de NAS eveneens de MTU naar 9014 gezet en daarbij wat tweaks toegepast met sysctl.
sysctl -w net.core.rmem_max=134217728
sysctl -w net.core.wmem_max=134217728
sysctl -w net.ipv4.tcp_rmem="4096 87380 134217728"
sysctl -w net.ipv4.tcp_wmem="4096 65536 134217728"
sysctl -w net.ipv4.tcp_window_scaling=1
Dit levert als resultaat een vrij stabiele +/- 3Gbps. Zowel via SMB als met iPerf3 (vanilla settings).
Zonder de tweaks aan de NAS kant blijft het bij 2,7Gbps steken.
Echter, als ik met iPerf3 aan de client kant de TCP Window Size vast prik op een hoge waarde (iperf3 -w 4M) zit de snelheid zo rond de 9,5-9,8Gbps.
Dus als de TCP window maar voldoende groeit, kan ik de hele 10Gbps zo ongeveer vol rammen.
Zonder tweaks op de NAS maar met vast geprikte window size van 4MB blijft de snelheid bij de 4Gbps steken.
Dus kortgezegd verwacht ik dat Windows 10 niet zo lekker aan TCP Window Scaling doet en ik lijk nergens te kunnen vinden hoe je dat in Windows 10 aanpast. Iemand een idee?
Wat ik onder Windows al wel geprobeerd heb is dit:
netsh interface tcp set global autotuninglevel=experimental
Dit zou tot resultaat moeten hebben dat Windows aggressiever de TCP Window opschaalt en tot hogere waarden gaat dan normaal. Echter haalt dit niks uit.
Ik zit met een klein probleempje waar ik niet uit kom. Het zit namelijk zo, ik heb een toffe nieuwe NAS gebouwd met een 10Gbps LAN kaartje. Desktopje ge-upgrade met een zelfde modelletje 10Gbps kaart, switchje er tussen die twee 10Gbps poorten heeft en de rest 1Gbps.
Zodoende kan de desktop met volle snelheid tegen een leuk 6x6TB RAID5 arraytje babbelen, zo was de gedachte.
Helaas blijkt de werkelijkheid iets weerbarstiger.
Situatieschets:
Desktop:
- Skylake i5-6500
- 16GB DDR4 RAM (2*8G)
- Samsung 950 Pro 512GB
- Intel X540-T2 dualport 10GbE LAN adapter (PCIe x8)
- OS: Windows 10 Home
NAS:
- Coffeelake i3-8100T
- 8GB DDR4 RAM (2*4G)
- 6x6TB WD Red in MDADM RAID5
- Sandisk Ultra USB3 stickje als boot drive
- Intel X540-T2 dualport 10GbE LAN adapter (PCIe x8)
- OS: OpenMediaVault 4 (laatste versie, Debian 9 based)
Deze twee machines zijn met elkaar verbonden via een Netgear GS110MX switch. Deze heeft twee 10GbE poorten en 8x 1Gbps poorten. De bekabeling is 2meter Cat7 SSTP (stranded CU) met shielded connectoren naar de PC en 10meter naar de NAS.
Link indicatie geeft netjes 10Gbps Full Duplex aan voor beide machines. Ook de indicatie in software bevestigt dit.
De rest van het LAN (o.a. een Cisco kabelmodem van Ziggo en diverse client devices (printers, twee QNAP NASsen, etc) hangt er via de 1Gbps poorten bij aan met Cat5E bekabeling.
Echter is nu het issue dat zowel Samba (Windows shares) als iPerf tests blijven steken rond de 3Gbps tussen de PC en NAS.
Wat ik al gevonden of geprobeerd heb
Op de Windows bak zijn de laatste drivers van Intel geïnstalleerd. De ProSet utility gebruikt om de recieve en transmit buffers op te schroeven naar maximaal. Jumboframes geactiveerd en de MTU op 9014 gezet.
Op de NAS eveneens de MTU naar 9014 gezet en daarbij wat tweaks toegepast met sysctl.
sysctl -w net.core.rmem_max=134217728
sysctl -w net.core.wmem_max=134217728
sysctl -w net.ipv4.tcp_rmem="4096 87380 134217728"
sysctl -w net.ipv4.tcp_wmem="4096 65536 134217728"
sysctl -w net.ipv4.tcp_window_scaling=1
Dit levert als resultaat een vrij stabiele +/- 3Gbps. Zowel via SMB als met iPerf3 (vanilla settings).
Zonder de tweaks aan de NAS kant blijft het bij 2,7Gbps steken.
Echter, als ik met iPerf3 aan de client kant de TCP Window Size vast prik op een hoge waarde (iperf3 -w 4M) zit de snelheid zo rond de 9,5-9,8Gbps.
Dus als de TCP window maar voldoende groeit, kan ik de hele 10Gbps zo ongeveer vol rammen.
Zonder tweaks op de NAS maar met vast geprikte window size van 4MB blijft de snelheid bij de 4Gbps steken.
Dus kortgezegd verwacht ik dat Windows 10 niet zo lekker aan TCP Window Scaling doet en ik lijk nergens te kunnen vinden hoe je dat in Windows 10 aanpast. Iemand een idee?
Wat ik onder Windows al wel geprobeerd heb is dit:
netsh interface tcp set global autotuninglevel=experimental
Dit zou tot resultaat moeten hebben dat Windows aggressiever de TCP Window opschaalt en tot hogere waarden gaat dan normaal. Echter haalt dit niks uit.
[ Voor 4% gewijzigd door McKaamos op 28-08-2019 15:34 ]