How To Work with Advanced WMS 9 Series Settings to Change Performance in Special Situations (811863)
The information in this article applies to:
- Microsoft Windows Media Services 9 Series
SUMMARYThe Window Media 9 Series server is tuned, by default, for
best performance during typical usage situations. In special situations, when
using high performance hardware with more than 2 gigabytes (GB) of system
memory, the server can reach a condition where it can no longer allocate more
memory because of a maximum address space limitation. Each Win32 application
can allocate up to 4 GB of memory, with 2 GB dedicated to user mode memory and
another 2 GB dedicated for the kernel. When an application reaches the 2-GB
user mode memory limitation, the server may no longer be able to allocate
memory for additional client connections. This article discusses the
configuration settings that you can use to reduce the amount of memory that is
allocated per user in the event such a limit is reached. As mentioned earlier,
the server has been optimized for the best possible performance. By changing
the values, you might see the following negative side effects (and possibly
others):
- Increased number of read operations per second- The overall performance of your server may be reduced,
considering that the number of disk seeks and frequency of disk reads may
increase significantly.
- Reduced UDP resend buffer- The amount of data that is kept by the server to acknowledge UDP
resend requests is reduced. Therefore, the client experience streaming by means
of UDP on high latency networks may be adversely affected.
Note Do not make these changes until you determine the side effects to
the overall server performance and to the end user experience. Also note that
these values are, to a degree, complementary; the actual internal buffer sizes
and the number of buffers used may not be the values specified earlier. The
amount of memory used per client by the server depends on a combination of
several internal parameters. WORKAROUNDWarning This article contains information about editing the namespace.
Before you edit the namespace, verify that you have a backup copy that you can
restore if a problem occurs. If you edit the namespace incorrectly, you can
cause serious problems that may require you to reinstall any product that uses
the namespace. Microsoft cannot guarantee that problems that result if you
incorrectly edit the namespace can be solved. Edit the namespace at your own
risk.
- Stop the Windows Media Services (run the net stop wmserver command).
- Change to the directory where the namespace file is located
(%SystemRoot%\system32\windows media\server).
- Open the ServerNamespace.xml file in a text editor, such as
Notepad.
- Locate the Other node in the namespace.
- Add the PacketPump sub-node under the
Other node after any existing sub-nodes:
<node name="PacketPump" opcode="create" >
</node> <!-- PacketPump --> - The following values can be added to the
PacketPump sub-node to modify the default values. If a value
is not added, the default will be used.
- OptimalBufferSizeInMSecsOnDemand- Defines the maximum buffer size, in milliseconds, allocated per
connection for an on-demand publishing point.
Minimal setting = 0x3E8
(1000 ms) Maximum setting = 0x2710 (10000 ms) <node name="OptimalBufferSizeInMSecsOnDemand" opcode="create" type="int32" value="0x1f40" /> - MaxBufferSizeInBytes- Defines the maximum buffer size, in bytes, allocated per
connection for a publishing point.
Minimal setting = 0x200 (512
bytes) Maximum setting = 0x40000 (256 Kbytes) <node name="MaxBufferSizeInBytes" opcode="create" type="int32" value="0x10000" /> - MaxResendBufferSizeInMSecs- Defines the maximum buffer size, in milliseconds, allocated per
connection for UDP resend operations.
Minimal setting = 0x0 (0
ms) Maximum setting = 0x2710 (10000 ms) <node name="MaxResendBufferSizeInMSecs" opcode="create" type="int32" value="0x2710"/>
- Restart Windows Media Services (run the net start
wmserver command).
Another representation of the code that you can add to the
ServerNamespace.xml file is as follows:
<node name="Other" opcode="create" >
<node name="Client Upgrade" opcode="create" >
...
</node> <!-- Client Upgrade -->
<node name="PacketPump" opcode="create" >
<node name="OptimalBufferSizeInMSecsOnDemand" opcode="create" type="int32" value="0x1f40" />
<node name="MaxBufferSizeInBytes" opcode="create" type="int32" value="0x10000" />
<node name="MaxResendBufferSizeInMSecs" opcode="create" type="int32" value="0x2710" />
</node> <!-- PacketPump -->
</node> <!-- Other --> Use the following table as a guideline for server configurations if
the target audience of your server is a low bitrate user (typically, a dial-up
user with connection speed of 10 Kbps to 40 Kbps).
Namespace
Value | Range | OptimalBufferSizeInMSecsOnDemand | 0x7D0 - 0xBB8 | MaxBufferSizeInBytes | 0x2000 - 0x4000 | MaxResendBufferSizeInMSecs | 0x7D0 - 0xBB8 |
Use the following table as a guideline for server
configurations if the target audience of your server is a higher bitrate user
(typically, the lower end of the broadband connection speeds of 100 Kbps to 400
Kbps).
Namespace
Value | Range | OptimalBufferSizeInMSecsOnDemand | 0xFA0 - 0x1F40 | MaxBufferSizeInBytes | 0x8000 - 0x10000 | MaxResendBufferSizeInMSecs | 0x1388 - 0x1B58 |
If your target audience uses 500 Kbps or higher, you
probably do not have to make these configuration changes. In these cases, other
system resources will be exhausted before the server experiences problems with
the memory space limitations.
Modification Type: | Minor | Last Reviewed: | 9/2/2004 |
---|
Keywords: | kbDSWWMM2003Swept kbinfo KB811863 kbAudDeveloper kbAudITPRO |
---|
|