How to change the default TransactionsPerHeartbeat limits in Windows Media Services 9 Series (891665)



The information in this article applies to:

  • Microsoft Windows Media Services 9 Series

INTRODUCTION

This article describes how to change the default TransactionsPerHeartbeat limits in Microsoft Windows Media Services 9 Series. You change the default TransactionsPerHeartbeat limits in the namespace file to modify the number of transactions that occur per client over time.

By default, control protocols in Windows Media Services 9 Series limit the number of transactions per heartbeat. A heartbeat occurs every 30 seconds. A transaction is a server command from the client, such as one of the following:
  • STOP
  • PLAY
Some user actions, such as FF, REW, and SEEK, require three server commands or transactions each.

Note SEEK is also known as SKIP on some television clients.

The three server commands or transactions that some user actions require include the following:
  • STOP
  • LOG
  • PLAY
By default, the Microsoft Media Server (MMS) protocol and Hypertext Transfer Protocol (HTTP) have TransactionsPerHeartbeat limits that are set at 60 transactions per heartbeat. The Real Time Streaming Protocol (RTSP) has a TransactionsPerHeartbeat limit of 240 transactions per heartbeat.

In some scenarios, you can exceed the default server limits. For example, you can exceed the default server limits when many users are using streaming connections on the same media server over MMS or over HTTP. You can also exceed the default server limits when you extensively use the SKIP user action to seek through video-on-demand content. You can do this in Microsoft Windows XP Media Center Edition. When the default server limit is exceeded, the server disconnects the client. You see a blank screen. Then, you have to reconnect to the server and view the content from the beginning.

MORE INFORMATION

Warning 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.

Warning Do not make changes on a production server until you determine the effects on the overall server performance and on the experience of the end users. The changes may hinder the experience of the end users in some circumstances.

There may be one end user who is sending an unusually high number of commands. The TransactionsPerHeartbeat limit is designed to maintain the experience for other end users who also are using streaming connections on the same media server. A network administrator can always increase these TransactionsPerHeartbeat limits. However, the network administrator must consider the effect of increasing these TransactionsPerHeartbeat limits in terms of capacity planning on the media server.

In a typical usage scenario, it is expected that these TransactionsPerHeartbeat limits may be set in the range of 240 transactions per heartbeat through 480 transactions per heartbeat. You can set these limits without significant additional CPU usage or media server performance degradation. In a typical usage scenario, a media server sustains a full load of streaming connections at 50 percent of CPU capacity. Concurrently, 5 percent of the end users are using FF, REW, or SEEK.

To change the TransactionsPerHeartbeat limits, you must modify the control protocol properties in the ServerNamespace.xml file. You must separately configure each control protocol that you want to change the default TransactionsPerHeartbeat limits for. The following are examples of control protocols that you may want to change the default TransactionsPerHeartbeat limits for:
  • MMS
  • HTTP
  • RTSP
To change the default TransactionsPerHeartbeat limit for HTTP, follow these steps:
  1. Run the net stop wmserver command to stop Windows Media Services 9 Series.
  2. Locate the following folder where the namespace file is stored:

    %SystemRoot%\System32\Windows Media\Server

  3. In a text editor such as Notepad, open the ServerNamespace.xml file.
  4. Expand the WMS HTTP Server Control Protocol node in the namespace. Expand the Properties sub-node under the WMS HTTP Server Control Protocol node.
  5. Add the following line of code under the Properties sub-node. The new timeout value is 480 transactions per heartbeat or 960 transactions per minute.
    <node name="TransactionsPerHeartbeat" opcode="create" type="int32" value="0x1E0" />
  6. Save the file. Close the file.
  7. Run the following command to restart Windows Media Services 9 Series.

    net start wmserver

Note The following is another representation of the code example that you can add to the ServerNamespace.xml file.
 <node name="WMS HTTP Server Control Protocol" opcode="create">
     ...
     <node name="Properties" opcode="create" >
         ...
         <node name="TransactionsPerHeartbeat" opcode="create" type="int32" value="0x1E0" />
         ...
     </node><!-- Properties -->
     ...
 </node><!-- WMS HTTP Server Control Protocol --> 

Modification Type:MajorLast Reviewed:1/25/2005
Keywords:kbinfo KB891665 kbAudDeveloper kbAudITPRO