分析影響流媒體服務器性能的硬件瓶頸【轉播】


 

 

  流媒體服務器作為為用戶提供服務的基本功能單元,其性能的高低直接影響到流媒體系統的服務能力。在衡量流媒體服務器時,最關鍵的指標是流輸出能力和能同時支持的並發請求數量,下面我們以本地硬盤作為存儲介質的流媒體服務器為例,首先對其工作過程進行簡單的分析:
  (1)從硬盤盤碟中分段讀取流媒體文件內容,經過硬盤接口電路(SCSI、IDE)、PCI總線和系統內部總線存儲到內存中(途中經過硬盤控制卡和PCI控制器兩個轉換接口)。
  (2)在流媒體文件被發送到網絡上之前,CPU需要對內存中的流媒體文件片段進行一些處理,例如,復制、切分、按協議打包等。
  (3)打包之后的文件內容在內存中通過系統內部總線、PCI控制器、PCI總線到達網卡。
  (4)網卡將文件內容再一次包裝后發送到外部網絡。
  通過以上的分析可以看出,在硬件方面有四個影響到流媒體服務器性能的關鍵因素:CPU處理能力、內存、磁盤讀取能力和網絡吞吐率。

  (1)CPU處理能力
  流媒體服務器的CPU主要進行內容文件的復制、切分和按協議打包等工作,並對用戶發起的各種服務請求(如快進、快退、搜索等)進行響應和處理以及服務器列表信息的維護和檢索等。
  對CPU處理能力的要求,隨着需要支持用戶並發訪問和服務數量的增長而提高,當並發用戶數越多,點播的節目越分散,對CPU的處理要求越高。當進行直 播或用戶點播單一文件時,服務器為用戶提供的內容都是相同的,只需要讀取一份源內容,然后進行內容的復制、分發操作;而當用戶點播不同的節目時,不僅要進 行內容的分發操作,還需要從多個節目源中取內容,進行更多的磁盤讀取和內容讀寫操作,需要啟動更多的進程,每個進程分配的時間片變小,並需要增加更多的進 程切換操作。因此同樣配置的服務器,用於直播服務的可以同時為幾千個用戶服務,但用於點播服務時,則只能為幾百個用戶提供服務。
  另外,在流媒體服務的不同階段,CPU的負荷也是不同的。在流媒體連接建立初始階段,除正常的文件復制、切分和協議打包工作外,會有更多的交互請求需 要處理,而且為減少用戶等待緩存的時間,有些系統會在短時間內提高文件傳輸速度,這就導致更多的文件讀取和處理工作,要比平穩連接階段更耗費資源。
  (2)對原始數據的讀取能力
  原始流媒體文件的存放方式主要有本地硬盤、NAS或SAN存儲設備幾種。不論那種數據存儲方式,原始數據文件的讀取能力都將直接影 響到服務器的性能。對讀取能力的要求,與業務類型和用戶請求的數量有很大的關系。直播對於數據讀取速率的要求最低,不過它需要為多少用戶提供服務,只需從 數據源取一份數據,然后進行復制;但是,點播則需要為每個用戶讀取不同的數據源,對數據源的讀取壓力大得多。
  原始數據的讀取能力是流媒體服務器最大的性能瓶頸,主要是受到存儲設備的速度限制。目前主要采用兩種解決方法:一是采用Raid技術和磁盤陣列,提高 硬件速度,不過價格較高;另一種方法是采用文件緩存技術,如果幾個用戶點播同一個節目,就可以從緩存中而不是存儲設備中讀取數據,減少存儲設備壓力。不過 這種方法效果有限,隨着點播用戶請求數的增長,用戶點播的節目會越來越分散,在緩存中命中的比例就會逐步降低,當命中率降低到一定程度,起不到減輕存儲設 備讀取壓力的作用。
  (3)內存
  在流媒體服務器中,內存可以按其用途分為兩大部分。一部分是為處理每個用戶的流媒體請求和服務使用的內存,用戶的平均內存使用率取決於流媒體內容的發 布類型和編碼設置,如比特率、包大小、音頻流和視頻流的數目等。根據用戶行為、服務的目標用戶數、用戶請求連接流的分散率和發布點類型,可以估算出一個流 媒體服務器需要使用多大的內存。
  另一部分是用於緩存數據文件。當服務器處理、發送和從存儲設備讀取數據時,都需要通過內存進行內容緩存。當內存不足時,會出現內存分頁現象。內存分頁 可能會造成無法預料的延遲。大物理內存可以將因內存分頁而產生的延遲最小化,更多的內存可以提供更多的文件緩存,減少存儲設備讀取能力瓶頸造成的影響,提 高服務器性能。
  (4)網絡吞吐率
  服務器網絡接口的服務能力影響到數據的傳輸,當網絡帶寬不足時,會導致數據收發延遲,導致用戶服務中斷。服務器的網絡吞吐率只與用戶數量和點播節目的編碼率有關。
  對於一個流媒體服務器來說,以上幾個因素中的任何一個都會造成服務器無法正常工作。另外,各個性能因素和處理環節是相互聯系、相互影響的。例如當內存 不足時,會產生大量的內存分頁操作,同時也會造成CPU的使用率很快上升到100%;增大內存,提高服務器內存緩存能力,還可以降低硬盤讀取操作。因此,在進行服務器配置時,要盡量做到各方面的性能協調和匹配,各性能指標均衡,同時應考慮到不同組件的價格不同,比如存儲設備價格較高,可相應配置較低的CPU和較大的內存,以提高設備的性價比。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM