PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Write and X Request bei ~17kb


nn23
2010-08-20, 21:11:54
Hi,

mal eine Frage an die Spezialisten hier, ich weiß nämlich nicht so recht weiter.

Situation:
2 PCs
1x Win2003 32 Bit
1x Win 7 64 Bit

per Gigabit Switch verbunden.

Ich melde mich am W7 PC an, und kopiere am Win7 PC eine Datei nach \\W2003\Share schiebe ich die Datei mit ~20 MB/s rüber.

Melde ich mich am 2003 PC an, und kopiere etwas von \\W7\Freigabe auf das lokale Laufwerk, mache ich das mit knapp 50 MB/s.

Es ist die gleiche Datei,
gleiches Quell und Ziel-Laufwerk.

Die Richtung ist die gleiche, es hängt nur davon ab, wer den Kopiervorgang anstößt.
"Schiebe" ich die Datei vom W7 Rechner aus zum 2003er ist es langsam,
"Hole" ich die Datei mit dem 2003er vom W7 aus ist es schnell...


Ich hab jetzt mal mitgesnifft, und herausgefunden:

Es geht denke ich um die TCPWindowSize.
Wenn der 2003er den kopiervorgang anstößt sieht das so aus:

SRC: 192.168.178.2 DST: 192.168.178.42 SMB Read AndX Request, FID: 0x4001, 61440 bytes at offset 648081408

http://666kb.com/i/blyth5lm42idezl71.jpg



Wenn der W7 den kopiervorgang anstößt sieht das so aus:

SRC: 192.168.178.2 DST: 192.168.178.42 SMB Write AndX Response, 16580 bytes

http://666kb.com/i/blythsey3mkpqgtn1.jpg


Man sieht sofort, dass beim ersteren viel mehr Pakete zwischen den Requests übertragen werden als beim zweiten.



Ich denke, dass irgendwer von den beiden Mist baut, indem er ne falsche TCPWindowSize nutzt. Gibt es da Unterschiede zwischen ReadX und Writex Requests?


MS dazu zur TCPWindowSize:
http://technet.microsoft.com/en-us/library/cc938219.aspx

For Ethernet networks, the default value of this entry is 0x4470 (17,520, or 12 segments of 1,460 bytes each).

Das passt zu meinen Beobachtungen. es sind niemals mehr als 12 Segmente, bzw. 17,520 bytes.
Wenn ich z. B. die Jumbo Frames auf 4kb setze sendet er nur 4 Pakete zwischen den Requests (4*4=16 kb)

Dadurch dass so oft der Write andX Request gesendet wird leidet natürlich die Übertragungsrate.

Ich hab schon bei beiden Rechnern den Wert:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ interface-name\TcpWindowSize auf 65535 gesetzt, neu gestartet, aber leider keine Besserung...

Mir fehlt da noch son bisschen das Verständniss, welche TCPWindowSize muss ich wo einsetzen?
Wo sind die Spezis hier?

Danke schonmal :)

€: Hier noch was dazu, warum der Regkey nicht greift:

Receive Window Auto-Tuning enables TCP window scaling by default, allowing up to a 16 MB window size. As the data flows over the connection, the Next Generation TCP/IP stack monitors the connection, measures the current bandwidth-delay product for the connection and the application receive rate, and adjusts the receive window size to optimize throughput. The Next Generation TCP/IP stack no longer uses the TCPWindowSize registry values. (http://technet.microsoft.com/en-us/library/bb878127.aspx)

Bei W7 müsste das doch der: netsh interface tcp set global autotuning=disabled sein, oder?
Aber was ist denn der Standardwert und wie kann ich den beeinflussen?

€2:
Ich hab schon Probleme mit dem Autotuning.
Lt Speedguide (http://www.speedguide.net/read_articles.php?id=2574) TCP Auto-Tuning auf disabled: uses a fixed value for the tcp receive window. Limits it to 64KB (limited at 65535).

Tut er aber nicht, er bleibt bei den 17420kb...

HeldImZelt
2010-08-21, 03:38:16
Vielleicht kann man irgendwie SMBv2 in 2003 reinpatchen. Ansonsten wirst du da wahrscheinlich nicht viel machen können. Laut THG (http://www.tomshardware.de/Windows-Server-2008,testberichte-239843-8.html) ist das Ding schon 15 Jahre alt.

nn23
2010-08-21, 16:30:49
Hi,

meinste das hängt mit dem neuen smb protokoll zusammen?
Ich werd nochmal ftp/http testen.

Danke ;)