Server Does Not Use All Bandwidth Available When Streaming Files with Bit Rates over 100 Kbps (235257)



The information in this article applies to:

  • Microsoft Windows Media Services 4.0

This article was previously published under Q235257
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

A Windows Media Server may not use all of the available bandwidth for a network card. Stream errors may start to occur even though there is no disk transfer problem and there are still network card bandwidth and CPU cycles available. If you use a 100-megabit NIC, for example, it should be possible to have almost 1000 100-kilobit streams simultaneously, but this number is actually limited to a little more than 600. The rest of the bandwidth cannot be used.

CAUSE

When a Windows Media Server uses UDP to stream, ASF files that are encoded at bit rates equal to or greater than 100 kilobytes per second (Kbps), the size of the transmitted packets is usually greater than 1024 bytes. When the packet size is less than or equal to 1024 bytes, the data is sent directly. If it is above 1024 bytes, the data is locked and buffered and waits until TCP/IP is done sending the data. In the second case, the number of context switches increases enormously and prevents the server from using all the bandwidth available.

WORKAROUND

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


To resolve this problem, do the following:
  1. Start Registry Editor (Regedt32.exe).
  2. Locate the following key in the registry:

    HKLM\System\CurrentControlSet\Services\Afd\Parameters

  3. On the Edit menu, click Add Value, and then add the following registry value:

    Value Name: FastSendDatagramThreshold
    Data Type: REG_DWORD
    Value: 1500

  4. Quit Registry Editor.
This value contains the new threshold (in bytes) at which Winsock changes its behavior regarding UDP packets. Values such as 1500 or 2048 should help to dramatically increase the amount of usable bandwidth for streaming ASF files with 100 kilobits or greater bit rates. For higher bit rates, it may be necessary to set higher values for this key. Because it is possible that side effects may occur, this change should be carefully monitored.

MORE INFORMATION

More information about the FastSendDatagramThreshold key and other TCP/IP tuning mechanisms can be found in the following document:

Modification Type:MajorLast Reviewed:6/11/2002
Keywords:kbprb KB235257