【IT168 服务器学院】本章讨论如何配置计算机以运行 Windows Media 服务,如何优化服务器以尽可能获得最优性能以及如何保证服务器的安全。我们首先讨论服务器的硬件配置。
计算机硬件配置
不象编码器大量占用 CPU,服务器大量占用 I/O。服务器的瓶颈依次是网络接口卡 (NIC) 与磁盘系统。CPU 与内存是处在第三、第四位。在本章中,我们讨论 Windows Media Server 的最优硬件配置。
选择 CPU 与内存
对于要处理成千上万个并行连接的典型 Windows Media Server 而言,请使用 Intel Pentium II 或与之等同的 CPU。除非服务器要处理 2,000 或 3,000 个以上的并行连接(每个连接速率均是 20 Kbps),否则没有必要使用多个处理器。位速率越高,服务器可处理的并行连接越少。要处理更多的并行连接,可以使用多个处理器。对于一个处理器系统来说,256 MB 的内存最理想。对于多个处理器系统,至少要使用 512 MB 内存。根据配置与服务器上的需要可能需要更多的内存。要查看在压力下服务器的行为,可以使用 Windows Media 负载模拟器,这将在本书的后面进行讨论。
选择网络接口卡
对于实时事件,在编码器与服务器之间有快速连接尤其重要。该连接是主供给。如果没有足够的带宽,主信号将降级,用户将收到低质量的传输效果。对于网络接口卡 (NIC),可以使用快速以太网 (100 Mbps) 或 10/100 交换以太网。交换以太网将数据包从 10 Mbps 共享段传输至以 100 Mbps 运行的 LAN 段或工作站上。这使以 10 Mbps 运行的多个终端站或工作组得以连接到以 100 Mbps 运行的服务器。
要处理 4,000 个并行连接(使两条 T3 线达到饱和),可以考虑添加另一个 NIC 以便于在编码器与服务器之间有独立的连接。即使网络连接饱和,主供给也不会受到影响且不会降低质量。网卡应配置为“全双工”,即它们可同时发送并接收数据。
选择磁盘驱动器
快速磁盘驱动器对于良好的服务器性能至关重要。Windows Media Server 的可伸缩性经常受到磁盘阵列性能的限制。对于大量的并行连接,建议在 RAID 配置中使用多个硬盘。由于数据传输速率高,应考虑使用 SCSI 和光纤信道(如下所示)接口,但是最好咨询首选的硬件供应商以确定非常好的配置。
随着所使用文件的增多或可用缓存的减少,对于磁盘速度的要求就提高了。注意:Windows Media Server 不使用缓存。因此,除非磁盘控制器上有缓存,否则每次读取均是显式从物理磁盘提取数据。
不要在系统驱动器上保存 ASF 根目录,因为在此会发生大量的活动与磁盘交换。另外,在多个驱动器上保存经常使用内容的副本,这样用户就可以通过不同的路径进行连接。根据经验,一个磁盘可以支持大约 500 个 28.8 Kbps 的连接。
在配置好服务器后,可以将 Windows Media 负载模拟器与性能监视器联用以检测瓶颈,如内存分页与处理器时间。如果服务器无法处理负载,再增加一个硬件或服务器。
存储区域网络
如果管理吞吐量很快且可伸缩性至关重要的大型站点,IT 经理可能需要考虑存储区域网络 (SAN)。SAN 是专门进行存储的网络。它们以极高的速度将服务器与存储设备(如 RAID 磁盘阵列、磁盘驱动器与磁带驱动器)连接起来。除提供高带宽外,SAN 将所有存储 I/O 分隔为独立的网络部分以便其它网络通信不受其影响。
SAN 的基础网络结构称为 Fibre Channel - Arbitrated Loop (光纤信道 - 仲裁环,FC-AL)。这是工业标准的高速接口,是专为双向、点对点的串行数据信道而设计的。它可以 100 MB/s 以上的速度连接距离在 10 公里范围以内的系统。
光纤信道支持多个协议(如 TCP/IP 与 SCSI)在同一电缆上并行运行。可以最多将 126 个节点连接到一个环中。支持 FC-AL 接口的硬盘驱动器有 Seagate 的 Barracuda 与 Cheetah 驱动器。有关这些驱动器的详细信息,请查阅网址:
服务器的性能优化
有几种方法可以提高服务器的性能。它们包括:
禁用不相关服务
最小化内存
设置注册表键值
使用最新的 NIC 驱动程序
禁用不相关服务
服务器上经常有一些未被使用的服务在运行。通常当机器启动时它们自动运行。类似服务的一个示例就是许可证日志服务,它进行检查以确定应用程序的用户许可证是否是当前的。如果服务器是专门用于分发流式媒体的,则毫无理由保留这些服务的运行。另一个示例是打印后台打印程序。除非服务器作为后台打印程序使用,否则关闭该程序。另外,对于高端性能,不要在运行 Windows Media Service 的同一服务器上运行 Microsoft Internet 信息服务 (IIS)。要将服务器专用于 Windows Media Server。如果 IIS 在同一台机器上运行,请考虑关闭其目录索引程序与 FTP 服务。索引程序需要大量的内存与磁盘空间,且有可能不使用 FTP 服务。总之,首先确定真正需要的服务并关闭其它无关服务。
设置注册表键值
有两种注册表键值,当负载过重时,可以调整其数值以提高服务器的性能。使用注册表编辑器可以添加键值(如果键值尚不存在)或修改设置。
MaxConnectionPerSecondKey
通过设置保存等待请求的队列大小,MaxConnectionPerSecond 注册表键值控制服务器每秒可以处理的客户连接请求的次数。处理客户连接请求使用系统资源(CPU 周期与内存),且根据计算机硬件配置可能影响服务器性能以及传送给客户的媒体流的质量。
从客户将连接请求发送至 Windows Media Server 时,请求将放在连接队列中并连续进行处理。如果客户试图连接到服务器的速率超过用于处理这些连接请求的客户连接速率,队列将变满。每秒所处理的客户连接请求数的默认值是 25,这是因为满足 Windows Media Server 最小系统要求的计算机每秒可以处理 25 个连接请求,而不会影响传送至连接的客户的流的质量。放在队列中的客户连接请求数的数值是每秒客户连接数的二十倍,或默认值为 500。该数值设置为连接速率的二十倍,原因在于 Windows Media Player 被设置为在试图使用故障切换 URL 进行连接之前等待 20 秒。所有在队列中的请求在 20 秒的等待时间内得到处理。
服务器保留放在队列中客户的计数。当所允许的最大请求次数放在队列中时,服务器将停止侦听连接请求。任一试图连接的客户将立即得到服务器不可用的消息。每当发生这种情况时,Windows Media 日志项将带有错误代码 503。Microsoft Windows 2000 Server 应用程序事件日志项将带下列消息:Windows Media 服务已达到最大的待定连接数值 %1。但是,仅当服务器停止侦听且在前一时刻日志项还未记录时才记录该项。其中,%1 是变量,且所显示的数值是队列的大小。然后,服务器每 2.5 秒检查一次以确定队列是否已满。如果客户已处理并从队列中删除,则服务器再次开始侦听连接请求。
如果所使用的计算机带有多个处理器与大量内存,则该计算机可能可以用于处理大量的连接。但是在决定增加该数值前,建议您使用 Windows Media 负载模拟器仔细估算计算机的 CPU 与内存的使用情况。
要将服务器的连接速率设置为自定义数值,编辑必须要更改的每个 Windows Media Server 的系统注册表。对于特定的硬件配置,如果连接速率过高或过低,则可以将注册表键值 HKEY_LOCAL_MACHINE \\SYSTEM \\CurrentControlSet \\Services \\nsunicast \\Parameters \\MaxConnectionsPerSecond 设置为自定义值。在高端服务器上,数值为 75,甚至有可能为 100。
MaxUserPort
默认情况下,当应用程序从系统中请求套接字以用于出站呼叫时,系统提供的端口值在 1024 与 5000 之间。MaxUserPort 参数设置可以用于出站连接的最高端口值。如果 Windows Media Server 将在大负载情况下运行,则有必要提高上限值。要设置该数值,请浏览 HKEY_LOCALMACHINE \\SYSTEM \\CurrentControlSet \\Services \\Tcpip \\Parameters。如果该值尚不存在,则添加数值 MaxUserPort,并将其设置为 0xFFFE。