The Default Block Size of 64KB in App-V 4.6 and Later may Cause Slow Streaming with Certain Network Configurations

Starting with the 4.6 sequencer, the default block size for sequenced packages was changed to 64K. In addition, the option to adjust this was removed from the sequencer. The block size used to be an issue when the network bandwidth was limited and large blocks could not be transferred. Now with more robust networks in place, this is not a problem anymore.

With certain 4.6 client configurations (using packages sequenced on 4.6 sequencers and later) involving RTSP streaming from management servers or streaming servers, users may notice significantly longer RTSP streaming times.

If you want to set the block size lower than 64K with the App-V 4.6 sequencer, you can still do this via the command-line sequencer. This will require an installation program, script, and/or batch file that will run completely unattended. The command line parameters are found here:

https://technet.microsoft.com/en-us/library/cc843675.aspx

You can use the /BLOCKSIZE option to specify a block size parameter of less than 64 (i.e. 32.)

To rectify this issue post-sequencing, you will need to make the following adjustments on the App-V Management server and/or streaming servers when using RTSP:

1.)    If using Windows Server 2003 for your App-V Management server, you can modify the TCP/IP settings on the Windows Server 2003 App-V Management server to immediately acknowledge incoming TCP segments per the following KB article: “Slow performance occurs when you copy data to a TCP server by using a Windows Sockets API program” (https://support.microsoft.com/kb/823764).

2.)    Use an alternative protocol for streaming (HTTP or SMB.)

3.)    Use a third-party sequencer/packager/encoder to adjust the block size.

4.)    Some of our customers have had success with adjusting TCP optimizations. For example, on servers running Windows Server 2003 Service Pack 2, you can turn on the TCP optimization feature "Receive-Side-Scaling" on by enabling the following registry parameter:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Data Type: DWORD

Value: 1

NOTE: This is only one part of the SNP (Scalable Network Pack features) that needs to be turned on. Other features such as offloading or TCP chimney do not need to be enabled. Please be aware of the fact that other applications that may be running on that server may not be tuned well for TCP optimizations. You will also need to reboot the server for this to take effect.

5.)    For servers running Windows Server 2008 and later, it is recommended to also have the receive window auto-tuning level set to either normal or experimental in addition to RSS being enabled.

To enable TCP Auto-Tuning and RSS:

  • From an elevated command prompt, run the following command:

                netsh interface tcp set global rss=enabled autotuninglevel=normal

  • Reboot the server.