電影服務器如何運行media服務
發表于:2007-06-13來源:作者:點擊數:
標簽:
本章討論如何配置計算機以運行 Windows Media 服務,如何優化服務器以盡可能獲得最優性能以及如何保證服務器的 安全 。我們首先討論服務器的硬件配置。 計算機硬件配置 不象編碼器大量占用 CPU,服務器大量占用 I/O。服務器的瓶頸依次是網絡接口卡 (NIC) 與磁
本章討論如何配置計算機以運行 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 驅動器。有關這些驅動器的詳細信息,請查閱網址:
http://www.seagate.com
服務器的性能優化
有幾種方法可以提高服務器的性能。它們包括:
禁用不相關服務
最小化內存
設置注冊表鍵值
使用最新的 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_LOC
ALMACHINE \\SYSTEM \\CurrentControlSet \\
Services \\Tcpip \\Parameters。如果該值尚不存在,則添加數值 MaxUserPort,并將其設置為 0xFFFE。
使用最新的 NIC 驅動程序
使用最新的 NIC 驅動程序很重要。將舊的驅動程序升級至最新版本可以大大提高性能。
服務器端口號
在基于 TCP/IP 的網絡中,端口號分配給在計算機中運行的應用程序。該編號將傳入的數據鏈接至正確的服務。通用的端口是每個人均會使用的標準端口號,例如,端口 80 通常用于 HTTP 通信(Web 通信)。Windows Media 技術使用下列端口號:
客戶創建 TCP 套接字,將其綁定至命令與控件數據包的服務器端口 1755。
對于 UDP 流,客戶創建 UDP 套接字,同樣將其綁定至服務器端口 1755。它用于發出數據包重新發送請求。
對于 UDP 流,客戶創建要對其進行偵聽的 UDP 套接字。該端口號是隨機分配的,在 1024 和 5000 之間。
可能需要配置防火墻以允許這些端口上的通信。對于那些打開非通用端口有問題的站點,Windows Media 也通過 HTTP 流動到端口 80。
端口號與分布式 COM
分布式 COM (DCOM) 為每個進程動態分配端口。必須確定要將多少個端口分配給 DCOM 進程,它等于通過防火墻的同步 DCOM 進程數。同樣也需要打開端口 135,它用于遠程過程調用 (RPC) 終端點映射。除此之外,必須編輯注冊表以通知 DCOM 您已保留的端口??梢允褂?HKEY_LOCAL_MACHINES \\Software \\Microsoft \\Rpc \\Internet 注冊表鍵值來實現這一點,您可能需使用注冊表編輯器創建該鍵值。
下面的示例通知 DCOM 將其端口數限制為 10 個端口:
標稱值: 端口
類型:REG_MULTI_SZ
設置:端口范圍??梢允嵌嗑€的,如:
3001-3010
135
有關端口號、防火墻配置與 DCOM 的詳細信息,請參見:
http://www.microsoft.com/Windows/windowsmedia/
en/serve/firewall.asp