Hello, I'm currently doing a performance analyis about FTP transfer to two Servers. PROD server : Win 2008 TEST server : Win 2008 R2 Latency between client and server : ~140ms (RTT ~280ms) Doing several transfer with the TEST server it appears something strange. The TCP Windows size is never the same. I discover the new automatic mechanism on Win 2008 to define the TCP window size by using a factor. But this factor is never the same eve using the same client and the same server. During a first test where the client was on site A, the TCP window scaling was 256. Durind a second test where the client was on site B, the TCP window scaling was only 4 !!!! I search on google informations about how Window 2008 server select the factor and the TCP window size but I didn't find any concrete explanation. Do you have any detail about this behaviour ? Thanks for your help asked 19 Feb '14, 02:38 any-one |
One Answer:
Window scaling on Windows is indeed very confusing, because there is no real pattern for how it behaves (unless you disable it, of course). If you issue the command "netsh interface tcp show global" on a command line, you'll get something like this:
If you take a look at the last two lines (about the autotunglevel) you can see why it does things differently sometimes: because "Windows Scaling heuristics" have kicked in and decided how to run things. So far nobody I've spoken to could tell me what it actually does - it's just doing something to the Window Scaling values when the PC has run for a while. answered 19 Feb '14, 05:18 Jasper ♦♦ showing 5 of 7 show 2 more comments |
There is description (more or less detailed) in an article of 'The Cable Guy'.
At the end: Receive Window Auto-Tuning in Windows Vista.
Apparently they calculate the BDP (bandwidth delay product) and then dynamically adjust the window size. As the value will be adjusted to the BDP (and other statistics), the window size is totally non-deterministic. The algorithms and parameters used for the adjustment are (obviously) not described.
That's what I meant. I (think) have seen all available documentation on that matter :-)
thanks for your answer both of you.
I already seen this article. I tried to google it and seen lot ot article website but never find answer explaining how M. MICROSOFT calculate the factor and the window size to use.
maybe it's random :)
I know, but maybe the OP has not yet seen them ;-))
UPDATE: Apparently he has already seen that :-) See comment above....
interesting articles I found:
http://books.google.fr/books?id=291YkeWyZP4C&pg=PA172&lpg=PA172&dq=windows+2008+tcp+factor&source=bl&ots=deX3qn8G16&sig=UY33bTtQ2rBTgzVCcthEQAOt5nY&hl=fr&sa=X&ei=XbQEU5TRNqm57AbWgYHIBw&ved=0CH8Q6AEwBw#v=onepage&q=windows%202008%20tcp%20factor&f=false
http://www.minasi.com/newsletters/nws0802.htm
I verified the TCP setting on each server
PROD : Receive window auto-tuning level : normal window scaling heuristics : disabled
TEST : Receive window auto-tuning level : normal window scaling heuristics : disabled
I have seen systems where the Window Scaling factor changed depending on software installed, e.g. an Avira virus scanner.