First time here? Check out the FAQ!

Ask Your Question
0

tcp window and SMB v3 multi session

asked Apr 13 '0

codec gravatar image

Dear all,

I am troubleshooting SMB v3 throughput performance issue. Currently, I saw the TCP window scaling flag is -1, I understand that's because Wireshark did not see TCP handshake to know the scaling status, but I turn on Wireshark before setup \x.x.x.x file server link to SMB server but still did not get this flag status.

I would like to know does anyone have suggestions for the following questions: (The server uses NAS and do not have access right to check the server status)

  1. how to calculate the TCP window size in client and server-side under the flag is -1 situation?
  2. Have a command to check current TCP windows in windows 10 directly? I do not have access right in the server-side.
  3. I found SMB supports multi-stream (not multi-channel for dual interface), but it seems sometimes the client can't run multi-stream always. Does anyone have a similar experience to this? The client ConnectionCountPerRssNetworkInterface is 4. I read the Micorosft document that mentioned multi-session can only work under a virtual interface. is it true?
  4. Any ideas to improve SMB v3 file transfer throughput on Windows 10 side?

Thank you very much! codec

Preview: (hide)

Comments

We don't generally close questions, instead accept the answer by clicking the checkmark icon to the left of it.

grahamb gravatar imagegrahamb ( May 3 '0 )

2 Answers

Sort by » oldest newest most voted
0

answered May 3 '0

codec gravatar image

I found most of answers of my questions, and here is the URL I found for some of the windows information. Just post in here in case someone may interested. thank you.

https://techcommunity.microsoft.com/t...

https://docs.microsoft.com/en-us/arch...

https://docs.microsoft.com/en-us/wind...

Preview: (hide)
link
0

answered Apr 13 '0

Eddi gravatar image

updated Apr 13 '0

Hello Codec

Windows usually starts the 3-way handshake by offering a scale factor of 8. So you have to multiply the windows advertised by the client by 2^8 (in other words: multiply by 256).

A useful command could be netsh int tcp show global You could replace showwith set to change the various options. By default Windows is using a reasonably tuned network stack. Certain situations, like a connection with very high bandwidth and very long RTT, might require some fine tuning.

Windows supports a feature called "TCP offloading" which is sometimes called the "TCP chimney". With offloading enabled the network interface will do some work like calculating IP and TCP checksums. Another noteworthy feature to fine tune network performance is found within the hardware properties of your network card. Go to the properties of the network card. But instead of changing an IP address click the button "Configure...". In the new window locate the Advanced tab.

Especially on the server side you will benefit from a fine tuning of receive and transmit buffers provided by the NIC. You might want to try changing the maximum number of RSS queues.

One way to check the overall situation (preferably on the server) is the command netstat -es. You want to keep the number of discards, errors, retransmissions etc. as low as possible.

Please remember that Wireshark offers a great feature with the server response time statistics. Use the menu Statistics --> Service Response Time --> SMB2. In most cases the values for "Notify" will not deliver insight into the server performance, while all the others are great indicators.

Good luck!

Eddi

Preview: (hide)
link

Comments

Hi Eddie,

Thanks for your reply. From the SMB2 service response time statistics, do you have a sample to show the procedure causes the delay? Because I saw all of the SMB2 procedures are less than 0.87 seconds, only Notify is 22 seconds on average.

I know windows 10 default TCP window is 64k, but I saw window size changed to 24709 ~ 24753. should I still doubt low throughput is caused by the TCP window?

If network delay is 100 ms, under the 24709 TCP window, what is the theoretical throughput? Is it 0.24MB per second when scaling is disabled?

Thank you! codec

codec gravatar imagecodec ( Apr 14 '0 )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: Apr 13 '0

Seen: 2,035 times

Last updated: May 03 '20