优化 Microsoft Windows Media Services 9 Series

发表于:2008-10-10来源:作者:点击数: 标签:windowsWindowsSeriesMediaServices
简介 本文提供 Microsoft Windows Media Services 9 Series 的性能和可伸缩性的技术概述。它描述了 Windows Media Services 的常见性能问题、局限性和性能监控技术。它还提供了在受控实验环境下进行的一组 性能测试 的测试结果。 建议您将本文档所提供的信息

简介

本文提供 Microsoft® Windows Media® Services 9 Series 的性能和可伸缩性的技术概述。它描述了 Windows Media Services 的常见性能问题、局限性和性能监控技术。它还提供了在受控实验环境下进行的一组性能测试的测试结果。

建议您将本文档所提供的信息当作一种原则加以对待。性能测试结果是基于特定硬件配置的,它是实际情景的一种简化。流媒体系统的实际能力取决于多种因素,包括网络拓扑、用户使用模式、硬件配置和软件配置。根据本文的原则和性能信息,您应该能够设计服务器、对它进行很好地优化并使它的能力达到最大,从而实现个人环境的最佳结果。

本文包括以下主题:

基本原则。提供一些在设置流媒体系统时应该遵循的简单原则。

Windows Media Services 4.1版与 Windows Media Services 9 Series。比较两种版本的 Windows Media Services 的特性和性能。

瓶颈。提供常见的服务器性能问题可能的原因和解决方法。

性能评估。介绍在一系列性能和压力测试下 Windows Media Services 9 Series 的表现。

高级优化。提供有关 Windows Media Services 其他优化技术的信息。

附录。Windows Media Services 实验测试的详细配置和结果。

更多信息。提供有关其他资源的信息。

返回页首返回页首

基本原则

为了保证用户的最佳体验,请考虑以下的基本原则:

将用户的总数限制在负载测试中所达到的最大用户容量的 50%。

确保网络的整体使用率少于最大网络接口容量的 50%,或者少于最常见比特率下最大吞吐能力的 50%。

确保服务器有足够的可用内存来达到期望的性能水平。

如果可能,对流式处理使用专用的计算机。当对内容进行流式处理时,避免在使用的服务器上运行其他很占 CPU 的服务,例如 Internet 信息服务 (IIS) 或 Microsoft SQL Server™。

返回页首返回页首

Windows Media Services 4.1 版与 Windows Media Services 9 Series

与以前的版本 Windows Media Services 4.1 版相比, Windows Media Services 9 Series 在性能上有了很大的改进。以下列表包含了 Windows Media Services 9 Series 促进性能提高的一些特性:

新对象模型和可扩展插件体系结构。

经过改进的 I/O 和线程模型。

由快速流提供的经过改进的用户体验。快速流由四个组件组成:快速启动、快速缓存、快速重连接和快速恢复。

由于检索的数据块更大,所以搜索硬盘的操作更少。

一般流情景中的并发用户数增加。

使用 Microsoft Windows® Server 2003 操作系统的文件缓冲能力在内存中缓存频繁访问的内容。

通过用户数据报协议 (UDP) 传输使得包恢复速率更快。

支持实时流协议 (RTSP)。

经过改进的负载仿真工具 (Windows Media Load Simulator 9 Series)。

以下图表总结了与 Windows 2000 中的 Windows Media Services 4.1 版相比, Windows Server 2003 中的 Windows Media Services 9 Series 性能的提升。第一组数据柱表示两个平台中最大广播用户数比较。第二组数据柱表示对于设有三个 Ultra SCSI 3 15000 转速硬盘的 RAID 0 硬件环境,最大请求用户数比较。第三组数据柱表示对于单个 Ultra SCSI 3 15000 转速硬盘,最大请求用户数比较。

调制解调器/拨号

optimize1

图 1. 调制解调器/拨号连接的版本比较

DSL/宽带

optimize2

图 2. DSL/宽带连接的版本比较

Intranet

optimize3

图 3. Intranet 连接的版本比较

返回页首返回页首

瓶颈

当一个过程或活动的一部分比其他部分慢或阻止其他部分的进行时,就会产生瓶颈,从而阻碍整个过程或影响整体性能。Windows Media Services 系统中最常见的瓶颈是处理器 (CPU) 能力、数据源吞吐量、传出的网络带宽和系统内存。CPU 使用率和系统内存瓶颈通常比数据源吞吐量和网络带宽限制更容易识别。

要使 Windows Media 服务器能力最大化并改善最终用户的体验,识别、消除系统中的所有瓶颈或使其影响降至最低程度是至关重要的。

处理器 (CPU) 能力

系统管理员倾向于认为只要 CPU 使用率不达到 100%,系统状态就是良好的。遗憾的是,这种假设并不总是正确的。例如,在几种情况下即使 CPU 的利用水平很低,服务器也不能接受超额负载。

有其他几种类型的瓶颈不是由高 CPU 使用率造成的。这些瓶颈会严重降低最终用户的体验,但不影响服务器的 CPU 利用水平。通常,系统内存瓶颈会因内存页面操作而导致 CPU 的使用率接近 100%。而另一方面,网络带宽和数据源吞吐量瓶颈通常不会影响 CPU 的平均利用水平。

可以使用几种不同的程序和工具监视 CPU 使用率,包括:

用于 Microsoft 管理控制台 (MMC) 的 Windows Media Services 管理单元。该管理单元在详细信息窗格的 Monitor 选项卡中提供系统 CPU 使用率信息。

Windows Task Manager。

Performance Monitor。\Processor(*)\% Processor Time 计数器提供有关 CPU 使用率的更加详细的信息,例如图表和历史记录信息。

确定流媒体系统的正确硬件需求、容量和 CPU 能力十分重要。平均 CPU 使用率主要取决于用户执行的操作,例如连接流、对内容进行流式处理、更改播放列表条目、快速转发、搜索或者提交日志条目。

作为一般原则,平均 CPU 使用率不应该超过 25%,在特定比特率下,并发用户数应该在最大服务器容量的 50% 以下。虽然这条原则看起来有些保守,但是它是根据以下事实确定的:内部服务器操作所占用的 CPU 变化范围很大。例如,假设服务器对几千个稳定的客户端进行广播。根据所使用的比特率和服务器,平均 CPU 使用率一般都在 20% 以下。如果有几百个客户端同时试图连接到服务器或切换到不同的播放列表条目,则服务器的 CPU 使用率可能在几秒钟的时间内蹿升到很高的水平。一般情况下,向多个客户端流式传输需要占用的服务器 CPU 比处理单个客户端请求所占用的要少。因此,保持 CPU 平均负载低于 25% 并不会导致最大流用户数明显的降低。其余 75% 的服务器 CPU 能力可用来处理更占用 CPU 的用户请求,从而使响应时间最短,用户体验最大化。快速流和搜索操作是很占 CPU 的操作的两个例子,它们可以在额外的空闲 CPU 周期内得到处理。

如果您发现服务器的平均 CPU 使用率暂时高于推荐值,则应该:

避免服务器端的实时播放列表操作。

降低 Connection rate (per second) 限制

降低 Fast Start bandwidth per player 限制。

从长远来看,应该考虑增加硬件能力以便降低平均 CPU 使用率水平并为用户提供更高质量的服务。

处理器数量

Windows Media Services 9 Series 大多数操作都是 I/O 操作。因此,增加处理器的数量并不一定能提升服务器的处理能力。内部总线布局、总线速度、网络接口总线位置、不同处理器之间的中断处理分布和数据源的吞吐能力等其他因素都会对整体性能产生很大的影响。

当 Windows Media 服务器使用 1 千兆比特每秒 (Gbps) 的网络适配器时,可伸缩性测试表明双物理处理器系统在大多数情况下都能得到最好的结果。当服务器使用 100 兆比特每秒 (Mbps) 的网络适配器时,测试表明单处理器服务器可以处理大多数情况下的负载。当您通过无线网络流式传输和使用很占 CPU 的插件时,推荐您使用具有四个以上处理器的计算机。

以下图表显示了在启用 1、2、4 和 8 个处理器的计算机上运行时,Windows Media Services 可以提供的 22 千比特每秒 (Kbps) 和 300 Kbps RTSPU 流的最大数目。粗略看来,随着处理器数目线性增长,所连接的用户数以指数级增长。这种情况主要是由 I/O 资源限制造成的。由于 I/O 限制,额外的处理能力不能完全发挥出来。有关本测试所使用的八处理器服务器的具体硬件信息(参考硬件 S3),请参考附录 A。

optimize4

图 4. 22 Kbps 流的最大数目

optimize5

图 5. 300 Kbps 流的最大数目

请按照以下原则实现涉及处理器能力的最佳服务器性能:

将平均 CPU 利用水平限制在全部处理器能力的 25% 以下。

当向多个客户端流式传输内容时,避免运行很占 CPU 的操作。

如果 CPU 的使用率在正常使用率水平以上,则应该尽可能多地退出程序,包括用于 Microsoft 管理控制台 (MMC) 的 Windows Media Services 管理单元。

原文转自:http://www.ltesting.net