How To Improve Server Performance when Streaming On-Demand Content from a Remote Share (812633)



The information in this article applies to:

  • Microsoft Windows Media Services 9 Series

SUMMARY

The Window Media Services 9 Series is tuned, by default, for best performance during typical user scenarios. This article describes a setting in the Windows Media Services 9 Series Server (WMS) that may improve performance in the following situation: when the WMS Server is streaming media content that is located on a remote share (for example, a SAN or a NAS) to on-demand clients.

MORE INFORMATION

When streaming from a file on the local disk, the OS file system cache manager will buffer blocks of the file in memory. This helps improve performance by reducing disk I/O operations. However, when accessing content on a remote share, this OS file system caching process may not always occur. This behavior occurs because WMS Server allows files to be opened in a sharing mode. This sharing mode then allows other applications to read, modify, and delete files while in use by WMS.

Under these circumstances, the OS file system cache manager may not be able to buffer remote files. As a result, every client request is served from the remote share. This can put increased demands on the network, increase disk I/O operations, and increase CPU usage on the WMS server.

Note Do not make these changes until you determine the effects on the overall server performance and to the end user experience. In addition to affecting the files that are being read, the server also prevents files in the whole remote folder where the content is located from being modified. Therefore, users cannot modify or add content to this share while clients are streaming from any file in the share.

WORKAROUND

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. A setting in the WMS Server Namespace can be set to disallow shared writing on the file it opens. This setting can make sure that the OS file system cache manager caches blocks of the remote file in the memory on the WMS Server. To change this setting, follow these steps:
  1. Stop the Windows Media Services (run the net stop wmserver command).
  2. Change to the directory where the namespace file is located (%SystemRoot%\system32\windows media\server).
  3. Open the ServerNamespace.xml file in a text editor, such as Notepad.
  4. Locate the WMS File Data Source node in the namespace, and then expand the Properties node.
  5. Add the following value below the Properties sub-node:
    • Only File Read Share- Sets whether this property is enabled (0x1) or disabled (0x0).
    <node name="Only File Read Share" opcode="create" type="int32" value="0x1" />
  6. Save and then close the file.
  7. Restart Windows Media Services (run the net start wmserver command).
The following is another representation of the code that you can add to the ServerNamespace.xml file:
<node name="WMS File Data Source" opcode="create" >
     ...
     <node name="Properties" opcode="create" >
          ...
          <node name="Only File Read Share" opcode="create" type="int32" value="0x1" />
     </node> <!-- Properties -->
     ...
</node> <!-- WMS File Data Source -->
After you enable this property, the WMS Server opens files on the remote share in a mode that does not allow other files to write to them. Because other users or applications cannot modify this file, the OS file system cache manager on the WMS Server caches the file to local memory. Before you enable this setting, see the Note in the "More Information" section of this article.

Modification Type:MinorLast Reviewed:10/11/2004
Keywords:kbDSWWMM2003Swept kbhowto kbinfo KB812633 kbAudDeveloper kbAudITPRO