Dag tweakers,
Ik constateer het volgende probleem:
Ik constateer het volgende probleem:
- 1. Als ik een file (omvang: 1.5Gbyte) copy/paste binnen dezelfde netwerkschijf, dan kopieer ik effectief 12Mbyte/s full duplex (12Mbyte/s lezen en gelijktijdig 12Mbyte/s schrijven, beiden op het netwerk). Als ik kleine bestanden in bulk kopieer zakt de performance onder de 1Mbyte/s.
- 2. Als ik op de server aanlog en daar de file copy/paste dan haal ik effectief 40Mbyte/s 'full duplex' (40Mbyte/s lezen en 40Mbyte/s schrijven, beiden van de locale schijf)
- 3. Als ik diezelfde file via http beschikbaar stel en naar de harde schijf van de client download, dan haal ik 35Mbyte/s over het netwerk. Dat is toch 3,5x zo snel als het genoemde onder punt 1.
- 4. Als ik diezelfde file copy vanaf de netwerkschijf en paste naar de lokale harde schijf van de client, dan haal ik effectief 30Mbytes/s over het netwerk. Iets langzamer, maar toch nog steeds 3x zo snel als het genoemde onder punt 1. Hier bestaat overigens een serieus risico dat de harde schijf van de client de bron van het performance plafond is.
- 5. Als ik iPerf draai op server en client en deze in dual mode draai dan haalt iPerf in beide richtingen simultaan 35Mbyte/s sustained. iPerf registreert een beschikbare bandbreedte van 250-270 Mbit/s.
- 6. Als ik NetCPS draai vanaf de client naar de server, dan haalt NetCPS pieken tot 40 Mbyte/s, al wisselt hij erg in doorvoer/s. iPerf geeft een constanter beeld aan.
- 7. De server heeft een Supermicro PDSME moederbord, 3.2Ghz Intel CPU, 1Gb geheugen, Areca 1120 raid controller en 4 x SATA Seagate Barracuda 7200.8 250Gb in RAID 5. Wanneer ik aanlog op de server behaal ik een effectieve throughput van 40Mbyte/s 'full duplex' (40 lezen, 40 schrijven), Windows 2003 Server Enterprise Edition. De netwerkkaart is een gigabit Intel(R) PRO/1000 PM op de PCI-e (x1) bus. Geen firewall, antivirus, etc. Het is een schone installatie.
- 8. De client is, wat magerder, een Medion PC voorzien van 512Mb, 2.8Ghz Intel CPU, SIS chipset. Seagate Barracuda 7200.7 120Gb, Windows 2003 Server Enterprise Edition. De netwerkkaart is een gigabit Intel(R) PRO/1000 GT in een 32bits PCI slot. Geen firewall, antivirus, etc. Het is een schone installatie.
- 9. De machines zijn gekoppeld door middel van een cross-cable en zitten beiden in een workgroup. De gebruikte crosscable is zojuist nieuw gekocht, type Cat5e, gewired conform de gigabit specificaties (zie ook de FAQ van tweakers), heeft geen beschadigingen en is 15m lang. Optioneel gebruik ik een CAT5e straight kabel van 1 meter. In beide gevallen auto-negotiaten de kaarten zichzelf succesvol op 1Gbit full duplex (bij gebruik van de straight kabel kruist een van de kaarten zichzelf). Op dit moment hebben de machines verder geen netwerkverbindingen. De machines hebben elk een fixed IP adres, zonder default gateway of DNS. Alle verbindingen worden gemaakt binnen het subnet op basis van IP adres en niet op basis van naam.
- 10. Controleren wat cpu belastingen e.d. doen. Aan de serverzijde is de cpu voor 10% bezig, aan de client zijde voor 35%. Gelijksoortig kan ik nergens bottlenecks vinden. Wat ik wel gezien heb is dat de client +/- 250 Memory/Page Reads/s heeft en 0 Memory/Page Writes/s heeft bij de aktie uit punt 1. Ze treden niet op bij de akties uit punt 3, 4 en 5.
- 11. TcpWindowSize aanpassen op de interfaces aan beide zijden. Dit had wel impact op iPerf (indien meegegeven op de command prompt). Met een window van 2Mbyte haalde ik de performance zoals onder punt 5 genoemd. Verdere ophoging had geen effect. Maar, welke waarde ik ook in de registry invoerde (en daarna reboote), het had geen enkele invloed op de performance van Windows. Het was net alsof de waarde niet gelezen werd.
- 12. Naast punt 11 ook de Tcp1323Opts voor de zekerheid gecontroleerd op stand 0 en stand 3. Ook dit had geen enkel effect.
- 13. dagen lang veel googlen en forums lezen. Alles wat ik ben tegengekomen wijst op betere a) netwerkkabels en b) tcpwindows. Maar, file sharing gebruikt nu minder bandbreedte dan mijn huidige kabel biedt dus a) valt in mijn ogen af en b) heeft nog helemaal geef effect. Daarnaast richten de meeste kwesties zich op performance als totaal en niet op verschillen in performance, zoals ik die nu tegen kom.
- 14. In enkele posts heb ik ook gelezen dat 100Mbit full duplex in de praktijk soms langzamer is dan 100Mbit half duplex. De reden is niet gegeven, maar wel de moeite waard. Helaas ondersteunen de gigabit kaarten geen half duplex, dus heb ik dit niet geprobeerd. (als je een tip hebt hoe het toch kan?) Ik heb wel, zonder resultaat, de kaarten op 1000Mbit geforceerd en de master/slave rol geforceerd over de kaarten.
- 15. De server als DC geconfigureerd, de client als member server om zo eventuele credential problemen te addresseren. Dit had geen effect.
- 16. Netbeui geinstalleerd en op basis daarvan de file transfers gedaan. De onder 1 genoemde operatie gaat dan met +/- 16Mbyte/s. Iets sneller dus, maar niet wezenlijk.
- 17. De bandbreedte limiet ligt momenteel nog op 35Mbyte/s. Mijn netwerkkaarten geven in diagnosics 75% kwaliteit van de verbinding aan. Een betere (bijvoorbeeld geshielde of beter geknepen) kabel kan deze limiet omhoog schroeven, hoewel deze altijd beperkt zal blijven tot de maximale doovoersnelheid aan de server zijde minus de vereiste overheads en daarna, als ik snellere schijven aan de controller zou hangen, door de gigabit beperking die op 125 Mbyte/s ligt en de 32Bit PCI bus aan de client zijde. Maar, als het tijd is om te upgraden is die ook vanzelf weer een keer aan de beurt.
- 17. Waarom is de throughput met file sharing zoveel lager dan met andere protocollen? Verschil moet er zijn, maar een factor 3 - 3,5 kan ik niet verklaren.
- 19. Kan ik op een makkelijke manier controleren wat de tcpwindowsize is die van toepassing is op de smb tcp verbinding tussen client/server? Kan het zijn dat Windows, ondanks waarden in de registry, op deze specifieke sessie toch een lagere windowsize heeft?
- 20. Kan het zijn dat de 250 Page Reads/s gerelateerd zijn aan het performance verlies en, als het OS Page Reads gebruikt om bij reguliere disk reads de pages in het geheugen te laden (zie punt 9) waarom genereert het dan niet evenzoveel Page Writes?
- 21. Zijn er, breed gedacht, manieren om dit op te lossen? Gebruikt de file sharing client soms een aanpasbare cache? Zijn er naast tcp tuning opties soms ook tuning opties voor file sharing? Zou het helpen als ik als linux/samba als server gebruik?
[ Voor 5% gewijzigd door Verwijderd op 16-10-2005 00:30 ]