標籤:
流媒體伺服器作為為使用者提供服務的準系統單元,其效能的高低直接影響到流媒體系統的服務能力。在衡量流媒體伺服器時,最關鍵的指標是流輸出能力和能同時支援的並發請求數量,下面我們以本地硬碟作為儲存介質的流媒體伺服器為例,首先對其工作過程進行簡單的分析:
(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和較大的記憶體,以提高裝置的性價比。
分析影響流媒體伺服器效能的硬體瓶頸【轉播】