亚洲人成免费,国产精品色在线网站,亚洲精品久久久一线二线三线,国产欧美久久久,中文字幕av一区二区三区人,三级国产毛片,美女被麻豆免费网站

 
Linux 1200端口媒體服務(wù)器參考設(shè)計

在Linux操作系統(tǒng)上使用Dialogic Netstructure DM/V和DM/V-A系列板卡建立高密度系統(tǒng), 和優(yōu)化性能

 概 述

  在今天的經(jīng)濟環(huán)境中, 快速建立高密度,可擴展和可靠的通信平臺并把它們推廣到市場對于OEM, 集成商, 和獨立軟件開發(fā)商來說是至關(guān)重要的, 這可以為這些廠商提供競爭力和持久的成功.

  隨著增值服務(wù)需求的增長, 大的企業(yè)和服務(wù)提供商不斷地打破系統(tǒng)密度的界限. 對于客戶需求的低價格,高密度媒體服務(wù)器, 并滿足關(guān)鍵密度和性能, Dialogic測試了1200端口媒體服務(wù)器方案,并對超高密度的系統(tǒng)作了系統(tǒng)軟件的優(yōu)化. 因此,客戶現(xiàn)在可以放心地建造各種各樣的復雜的應(yīng)用例如呼叫中心, 會議和交換應(yīng)用.

  這個參考設(shè)計指南會描述媒體服務(wù)器測試環(huán)境, 使用了什么建筑模塊, 并提供性能測試結(jié)果. 這些可以揭示了創(chuàng)建高密度系統(tǒng)的性能指標, 如何達到這個性能指標, 使用Dialogic Netstructure DM/V和DM/V-A系列板卡和Linux操作系統(tǒng)還有為電信級關(guān)鍵應(yīng)用創(chuàng)建的媒體服務(wù)器軟件.

 簡 介

  在目前市場環(huán)境下, dot-com泡沫破裂后和激烈的基本服務(wù)的競爭, 使運營商的銷售額下降, 網(wǎng)絡(luò)資源得不到有效利用還有設(shè)備投資也同樣下降. 他們迫切希望尋找新的銷售額來源, 而且是投資不高的. 同時, 大中型企業(yè)也在尋找改進客戶滿意度, 留住客戶和增加員工效率的方法, 同減少運營和架構(gòu)投資.

  因此, 企業(yè)和運營商都在尋找創(chuàng)新的增值服務(wù), 也希望建立在開放的,基于標準的建筑模塊. 還有, 兩種客戶都需要靈活的, 很快集成的, 投資不高的, 但能提供很強的投資回報的方案. 為了滿足這些需要而且達到商業(yè)增長需要的密度要求, 通信網(wǎng)絡(luò)和方案必須保證可擴展性而且不會讓系統(tǒng)的性能受到影響.

  媒體服務(wù)器是實施這些增值服務(wù)的平臺. 而且, 側(cè)重于控制成本, 今天的重點是高密度,可擴展,需要空間不大的媒體服務(wù)器.

  Dialogic 提供開放的基于標準的建筑模塊, 可以用來開發(fā)和實施高性價比, 高密度的媒體服務(wù)器. Dialogic NetStructure™ DM/V 語音和 DM/V-A 多功能系列卡支持語音處理, 語音識別, 會議, 都只在一塊PCI或CPCI插槽中. 一臺計算機中可以插多塊這個系列的板卡, 減少了需要的可擴展的高密度方案的硬件空間.

  Linux 操作系統(tǒng)提供電信級的功能, 對于運營商和大企業(yè)環(huán)境來說是關(guān)鍵的 - 高效的資源管理, 靈活的功能增強, 可擴展到高密度而性能不會下降.

  為了減少客戶推向市場的時間, Dialogic在下面環(huán)境開發(fā)和測試了1200端口媒體服務(wù)器系統(tǒng): DM/V語音卡和DM/V-A多功能卡, RedHat* 7.2 Linux , Linux版 Dialogic® Dialogic® 系統(tǒng)軟件 5.1. 通過嚴格的測試和分析, 關(guān)注在超高密度方案的可擴展性和性能上, Dialogic工程師成功地建立了最優(yōu)的板卡參數(shù), 客戶可以有信心地在單一系統(tǒng)中密度達到更高的密度. 這個1200端口媒體服務(wù)器參考手冊就是記錄了他們實現(xiàn)和性能測試的步驟.

  高密度媒體服務(wù)器的應(yīng)用有

  • 統(tǒng)一消息 - 把語音,傳真和通常的文本消息作為對象來處理, 在統(tǒng)一的一個信箱中, 用戶可以使用電子郵件或者電話來訪問. 如果一個用戶的計算機有多媒體功能, 用戶可以打開和播放語音消息. 傳真的圖像可以被保存或者打印. 一個用戶可以通過電話訪問同一個油箱,里面的電子郵件文本可以被轉(zhuǎn)換成語音文件放給用戶聽.
  • 網(wǎng)絡(luò)呼叫中心/聯(lián)絡(luò)中心 - 一個集中的地方, 客戶和其他電話被一個組織來處理, 通常有部分呼叫被計算機自動處理. 呼叫中心可以在任何組織里需要使用電話產(chǎn)生銷售或提供服務(wù)里實施.
  • 自動語音回復(IVR) - 這是一個軟件應(yīng)用, 它接收電話語音的輸入和按鍵選擇并提供相應(yīng)的回復, 可以是語音, 傳真, 回呼, EMAIL和其它媒體. IVR通常是一個大應(yīng)用程序中的一部分.
  • 語音門戶 - 一個網(wǎng)站或者其它服務(wù), 用戶可以通過電話來訪問信息, 例如天氣, 體育成績, 或者股票價格. 可以使用自然語言或按鍵來發(fā)出請求, 語音門戶使用文本轉(zhuǎn)語音(TTS)技術(shù)播放語音或者通過Email形式回復.
  • 會議 - 使多方可以加入一個電話談話中
  • 預付費/預付費卡 - 一個客戶為了打電話事先購買了一定量的呼叫時間或者一定的金額話費, 隨著打電話卡的價值也隨之減少. 計費一般都是在一個遠程的交換機, 用戶撥入來進行呼叫.
  • 語音郵件 - 讓用戶可以接收,編輯和轉(zhuǎn)發(fā)消息到一個或多個語音信箱
  • 國際回呼 - 是一個系統(tǒng)為了避免電話公司的長途話費, 讓美國境內(nèi)產(chǎn)生一個呼叫然后把原始呼叫者加入到會議中
  • 網(wǎng)關(guān)交換 - 一個網(wǎng)關(guān)是一個網(wǎng)絡(luò)節(jié)點, 作為到另一個網(wǎng)絡(luò)的入口. 一個網(wǎng)關(guān)經(jīng)常與路由器和交換機聯(lián)系起來, 路由器知道把到達網(wǎng)關(guān)的特定的數(shù)據(jù)包轉(zhuǎn)到相應(yīng)的地方, 交換機提供提供一個包進出網(wǎng)關(guān)的實際路徑.

 高密度(1200端口)媒體網(wǎng)關(guān)

  Dialogic創(chuàng)建, 測試和優(yōu)化一個1200端口媒體服務(wù)器參考系統(tǒng)主要關(guān)注的是可擴展性和性能. Dialogic如何增加更多的端口而不會影響客戶期望和要求的高性能呢? 系統(tǒng)必須要可擴展, 客戶需要從一個T-1或E-1線到40個而不會引起性能的降級.

  最新的性能結(jié)果是一個系統(tǒng)中插了10塊Dialogic NetStructure™ DM/V 語音系列板卡 (1200 通道), 執(zhí)行同時的放音/錄音功能, CPU利用率為 35-38% , 密度升高也不會引起性能下降. CPU使用率和通道數(shù)是一個線性比率,說明這個架構(gòu)有良好的擴展性.

 方 法

  再配置1200端口媒體服務(wù)器架構(gòu)時, Dialogic工程師選擇了Dialogic建筑模塊和第三方模塊, 組合起來可以達到較高的性能和較低的CPU使用率. 這個服務(wù)器配置了10塊Dialogic NetStructure DM/V 語音系列板卡 (DMV1200-4E1-PCI / DM/V1200-4E1-CPCI), 提供網(wǎng)絡(luò)連接和語音處理, 它們支持4個網(wǎng)絡(luò)接口和120端口的語音處理能力. 類似的測試也在10塊DM/V-A多功能系列板卡上作過, 它有4個數(shù)字網(wǎng)絡(luò)接口和增強型媒體能力, 還支持連續(xù)語音處理(CSP). 了解更多功能請參閱在線文檔: http://www.Dialogic.com/network/csp/products.

  這些板卡被裝在一個機箱里, 配置了 Dialogic® Pentium® III 處理器, 1000 MHz CPU, 運行 RedHat 7.2 Linux 操作系統(tǒng). 使用Linux和 Linux版Dialogic Dialogic 系統(tǒng)軟件 5.1讓開發(fā)者擁有高可用性, 高性能, 滿足電信級, 運營商和大企業(yè)應(yīng)用方案.

  這個媒體服務(wù)器測試了可擴展性和性能. Dialogic工程師開發(fā)了一個簡單的消息應(yīng)用, 然后在1200通道的系統(tǒng)上進行了測試, 每個通道只能連續(xù)的放音和錄音操作. 系統(tǒng)軟件包括庫和固件也進行了優(yōu)化; 每一方面都達到極限來確定系統(tǒng)的靈活性, 某種資源在什么密度下是極限. 一旦發(fā)現(xiàn), 立即作系統(tǒng)優(yōu)化, 這個過程不斷在進行, 直到達到合適的密度要求而且不會有性能的下降.

  不同的編程模式也進行了測試. 同步和異步, 單線程和多線程 - 工程師測試了不同的情況來判斷如何達到最優(yōu)的性能. 基于1200通道, Dialogic工程師測試了每個線程不同的通道數(shù)(例如每個線程120端口和240端口). 測試結(jié)果表明, 在1200端口的配置中, 每個線程120個端口是最高效的.

  異步單線程是推薦使用的編程模式, 它可以比擴展異步模式達到更低的CPU使用率; 而且系統(tǒng)顯示了很好的擴展性, PCU使用率和端口數(shù)是一個線形關(guān)系.

  創(chuàng)建1200端口媒體服務(wù)器的方法被記錄下來, 開發(fā)者可以在寫自己程序的時候進行參考:

  • 放音/錄音終止
  • 編程模式
  • 使用連接地/索引放音而不是調(diào)用多個dx_play()命令
  • 調(diào)用dx_stopch( )
  • 優(yōu)化設(shè)備的性能
  • 設(shè)備初始化

  這些參考建議都在本手冊的 高密度系統(tǒng)性能參考建議 部分.

 開發(fā)環(huán)境

  為了創(chuàng)建一個可以超過過去系統(tǒng)瓶頸密度要求, Dialogic工程師選擇了Dialogic產(chǎn)品和第三方產(chǎn)品, 集成起來可以達到電信級媒體服務(wù)器的高可用性和高性能.

  Linux (RedHat 7.2) 操作系統(tǒng)

  這個1200端口的媒體服務(wù)器是建立在 RedHat 7.2 Linux 操作系統(tǒng)上, 使用 Dialogic Dialogic SR 5.1 軟件 Linux版, 它支持高密度高可用性的通信平臺. 這個模塊化的架構(gòu)支持快速的開發(fā)周期, 提供定義良好的, 標準的接口, 保證了硬件的兼容. 不只是密度大大地增加了, 也達到了更好的系統(tǒng)性能. 這個系統(tǒng)的高密度和高性能讓復雜的消息,呼叫中心, 會議和交換應(yīng)用成為可能.

  Dialogic® NetStructure® 語音和多功能系列板卡

  DM/V 和 DM/V-A 辦卡系列是建立在強大的DM3架構(gòu)上 - 一個靈活的,模塊化的和開放的架構(gòu)平臺, 用來開發(fā)先進的呼叫處理應(yīng)用, 滿足媒體服務(wù)器的高密度和高性能要求. 開發(fā)者在一個機箱中可以開發(fā)的系統(tǒng)密度從48到1200端口的T-1/E-1 網(wǎng)絡(luò)連接, 還有辦卡上的語音, 講話和會議媒體的功能.

  DM/V-A 辦卡系列提供了創(chuàng)新性的連續(xù)語音處理技術(shù), 它是一個基于DSP的信號處理方案, 可以與業(yè)界領(lǐng)先的語音識別軟件無縫連接提供友好的用戶界面. 板卡上的會議功能一共了業(yè)界最強大的功能集, 給最終用戶提供了非常愉快的會議的體驗. 高級的算法可以防止會議中的噪音和回聲. 它也可以平衡參與者的語音音量, 提供DTMF檢測限制進入退出會議的音頻. 板卡上的會議可以讓Dialogic的客戶實施電信級的會議系統(tǒng), 提供豐富的功能, 良好的語音質(zhì)量和密度, 費用比私有的系統(tǒng)降低很多.

  高密度媒體服務(wù)器測試環(huán)境

  • 硬件: Dialogic Pentium III 處理器, 1000 MHz CPU
  • 操作系統(tǒng): RedHat Linux 7.2
  • 開發(fā)軟件: Dialogic Dialogic SR 5.1 Linux版
  • 機箱: Transduction Berta 1000
  • 內(nèi)存: 512 MB SDRAM PC133
  • 硬盤: Seagate ST330620A-30GB IDE (7200 rpm, 8.5ms Seek Time)
  • 通信電話板卡: 10塊 Dialogic NetStructure DM/V 或 DM/V-A 系列板卡: DM/V1200A-4E1-PCI 或 DM/V1200-4E1-CPCI. 盡管這個文檔中的結(jié)果都是基于E-1板卡來做的測試, 對于T-1板卡來說編程指南和結(jié)果也是一樣的.

  DM/V 語音系列板卡

  • 一塊板卡支持120端口聲音處理和四個數(shù)字網(wǎng)絡(luò)接口,每個系統(tǒng)可以擴展到1200端口
  • 支持"完美呼叫"的呼叫過程分析, 可以精確區(qū)分人的聲音和自動錄音回復以及網(wǎng)絡(luò)噪音
  • 可下載的信令和呼叫分析固件提供了靈活性
  • 支持工業(yè)標準 PCI 和 CompactPCI 總線
  • 提供 T-1 或 E-1 數(shù)字接口, 支持全球的 CAS 和 ISDN PRI 信令
  • 通過GlobalCall接口提供統(tǒng)一的呼叫控制, 縮短了開發(fā)時間, 應(yīng)用程序在全球部署都可以兼容.

  DM/V-A 多功能系列板卡
  包含所有的DM/V板卡的功能,還有:

  • 支持連續(xù)語音處理
  • 提供板卡上的高密度會議方案, 可以用來實施電信級會議系統(tǒng).
  • 支持 G.726, GSM, 和 TrueSpeech* 語音編碼

  軟 件

  Linux版系統(tǒng)軟件 5.1 提供了很多的媒體資源 (聲音, 傳真, 語音和會議) 和數(shù)字網(wǎng)絡(luò)接口, 在Redhat 7.2 Linux操作系統(tǒng)和Dialogic DM3板卡上. 而且, Linux SR 6.0 的方案使用 CompactPCI* 總線支持熱插拔(PHS), SNMP, 檢測, 單板啟動和停止操作, 固件跟蹤, 更快的系統(tǒng)下載和初始化時間.

  本文檔剩下部分詳細介紹了1200端口媒體服務(wù)器的性能指南, 測試環(huán)境和性能結(jié)果. 客戶希望了解創(chuàng)建1200端口媒體服務(wù)器的更多信息請與Dialogic技術(shù)銷售代表或客戶經(jīng)理聯(lián)系.

 高密度系統(tǒng)性能指南

  當為包含DM/V語音卡和DM/V-A多功能卡進行編程的時候, Dialogic建議采用下面方法來使系統(tǒng)的性能最大化. 這些方法包括:

  • 放音/錄音終止
  • 編程模式
  • 使用連接/索引放音而不是調(diào)用多個 dx_play() 命令
  • 調(diào)用 dx_stopch( )
  • 優(yōu)化設(shè)備的性能
  • 設(shè)備初始化

  放音/錄音終止

  終止事件

  在DV_TPT結(jié)構(gòu)中使用DX_DIGMASK作為終止條件, 而不是調(diào)用DX_CST結(jié)構(gòu)然后用dx_stopch()來終止通道上的I/O操作. DV_TPT結(jié)構(gòu)定義了終止的條件.

  最長時間

  在DV_TPT結(jié)構(gòu)中使用DX_MAXTIME最長函數(shù)時間參數(shù), 而不是通過DX_IOTT結(jié)構(gòu)中的io_length的長度來終止. DV_TPT結(jié)構(gòu)定義了錄音終止條件.

  最長函數(shù)時間就是錄音/放音的時間.

  編程模式

  為了使性能最大化, 使用異步單線程編程模式和sr_waitevt() 函數(shù)
下面介紹了關(guān)于編程模式的信息:

  使用異步單線程模式

  對于這種系統(tǒng)來說, 異步單線程編程模式是推薦的. 應(yīng)用程序要正確取出和處理事件. 例如, 應(yīng)用程序可能會與數(shù)據(jù)庫交互, 它可能需要把事件交給另一個線程來處理以免數(shù)據(jù)庫操作會阻塞取事件的縣城. 這種方法可以讓你實現(xiàn)事件處理的方案來達到更高的性能.
  注意: 不支持信號編程模式

  線程數(shù)

  根據(jù)應(yīng)用程序的不同, 最佳的線程和通道數(shù)的組合也不同. 如上面所說, 我們建議一個線程來處理DM3的事件. 有可能需要調(diào)整編程模式來達到更好的性能. 例如, 讓單獨的線程專門做系統(tǒng)的I/O操作可能會提高系統(tǒng)性能. 而且, 如果應(yīng)用程序使用了從內(nèi)存錄音/放音功能, 增加上面一個專門的線程也許不會改進整體系統(tǒng)的性能.
  總之, 對于Linux系統(tǒng), 我們的結(jié)果表明如果沒有大量的硬盤操作, 越少的線程數(shù)系統(tǒng)的性能越好. 但是,這只是一個籠統(tǒng)的推薦. 你需要根據(jù)你的應(yīng)用的特點來調(diào)整編程模式來達到最佳的結(jié)果.

  進程數(shù)

  這里有兩點考慮:
  1. 根據(jù)你的服務(wù)的可用性需求來決定你系統(tǒng)的進程數(shù) 因為進程是單獨運行的. 如果一個進程遇到錯誤或者停止服務(wù)了, 其它的還是可用的. 如果, 你用一個進程來處理所有的資源, 那么如果這個進程停止了服務(wù), 整個系統(tǒng)都不可用了.
  2. 多個進程會增加系統(tǒng)的負擔從而降低整體系統(tǒng)的性能. 總之, 你要避免一個系統(tǒng)中的大量的進程. 操作系統(tǒng)處理多個進程的負荷會影響到系統(tǒng)的性能.

  因此, 你需要根據(jù)服務(wù)的可用性和整體系統(tǒng)的性能來尋找一個平衡點. 建議你使用多種不同的組合來判斷哪種模式是最佳的.
  注意: 一個設(shè)備不能被多個進程訪問.

  減少磁盤 I/O 操作

  減少磁盤I/O操作(例如從內(nèi)存中放音和錄音)可以是高密度系統(tǒng)的性能最大化. Dialogic提供個API可以讓放音/錄音對內(nèi)存而不是對磁盤文件操作. Dialogic 建議應(yīng)用程序管理磁盤I/O來減少磁盤I/O的操作來達到系統(tǒng)的高性能.

  使用連接/索引放音而不是調(diào)用多個dx_play()命令

  不要使用多個Play命令, 而是要使用DX_IOTT機構(gòu)中來定義從內(nèi)存或磁盤的數(shù)據(jù)傳輸. DX_IOTT是一個結(jié)構(gòu)連接, 可以制定從某個文件或某個文件的一部分(使用lseek() 來設(shè)定偏移量) 以一個序列進行放音. 這會減少調(diào)用 dx_play() 的數(shù)目. 這也被稱作連續(xù)放音或索引放音. 同樣對于錄音來說道理也是一樣.

  調(diào)用 dx_stopch( )

  對了達到高性能, 要異步調(diào)用 dx_stopch( ) 而不是同步模式. 異步調(diào)用這個函數(shù)就不會讓線程阻塞等待它的終止, 在這個通道終止的過程中, 程序可以繼續(xù)處理其它設(shè)備和事件. 對于要達到最佳性能的應(yīng)用程序, 要使用異步編程技巧.

  優(yōu)化設(shè)備的性能

  如果你打開和關(guān)閉設(shè)備或者你的應(yīng)用程序使用GlobalCall來自動打開關(guān)閉設(shè)備, 應(yīng)用程序的性能可能會受到影響. 為了優(yōu)化性能, 我們建議你在應(yīng)用程序初始化時打開所有的DM3設(shè)備, 然后保持它們打開狀態(tài)直到系統(tǒng)終止. 所有設(shè)備都應(yīng)該在空閑狀態(tài)被關(guān)閉, 所有設(shè)備應(yīng)該在應(yīng)用程序終止的時候關(guān)閉.

  設(shè)備初始化

  設(shè)備初始化的方法可以參見手冊 Compatibility Guide for the Dialogic Dialogic R4 API on DM3 Products for Linux

  xx_open( ) 函數(shù)包括聲音 (dx), Global Call (gc), 網(wǎng)絡(luò) (dt), 和傳真 (fx) API, 它們在DM3上是異步函數(shù), 和標準R4的同步不同. 這對于應(yīng)用程序來說不會有影響, 只有在當設(shè)備在初始化時對這個設(shè)備的下一個函數(shù)調(diào)用開始了. 在這種情況下, 初始化必須要結(jié)束以后后面的函數(shù)才能開始. 那個函數(shù)可能不會返回錯誤, 但是它會阻塞在那里直到設(shè)備初始化完成. 例如, 你的應(yīng)用程序調(diào)用了下面兩個函數(shù):
  dx_open() dx_getfeaturelist()

  dx_getfeaturelist( ) 被阻塞, 直到設(shè)備的初始化完全完成, 即使dx_open( ) 已經(jīng)返回成功. 換句話說, 初始化dx_open( ) 可能看起來已經(jīng)完成, 但是實際上它還在繼續(xù)進行. 在某些應(yīng)用中, 這可能會引起設(shè)備初始化性能下降.

  幸運的是, 你可以通過重新配置打開和配置設(shè)備的序列來避免這種問題的發(fā)生. 推薦的方法是調(diào)用別的函數(shù)前, 首先調(diào)用所有的 xx_open( ) 函數(shù)打開所有通道. 例如,你可以用一個循環(huán)輪詢所有的設(shè)備調(diào)用所有的xx_open( ) 函數(shù), 然后開第二個循環(huán)來配置它們, 這樣就可以避免你調(diào)用一個xx_open( ) 函數(shù)以后,馬上在相同設(shè)備上調(diào)用其它API函數(shù).

  使用這種方法, 當所有 xx_open( ) 命令結(jié)束的事后, 第一個通道就已經(jīng)初始化完畢,你就不會遇到任何問題. 這種改變不是對于所有應(yīng)用都是需要的, 但是如果你遇到了很差的初始化性能, 你可以使用這種方法來進行改進.

 高密度媒體服務(wù)器測試環(huán)境

  下面描述了Dialogic如何建立媒體服務(wù)器來完成性能測試.

  硬件和軟件

  這部分主要描述了在測試高密度媒體服務(wù)器中使用了什么. 這里介紹了PCI總線的
  PCI 總線
  硬件: Dialogic Pentium III processor, 1000 MHz CPU
  操作系統(tǒng): Red Hat* 7.2 Linux
  開發(fā)軟件: Dialogic Dialogic SR 5.1 for Linux
  機箱: Transduction Berta 1000
  內(nèi)存: 512 MB SDRAM PC133
  硬盤: Seagate ST330620A-30GB IDE (7200 rpm, 8.5ms Seek Time)
  板卡: 10個 Dialogic NetStructure DM/V 語音和 DM/V-A 多功能系列板卡: DM/V1200A-4E1-PCI 或 DM/V1200-4E1-CPCI. 盡管這個文檔測試的系統(tǒng)是E-1板卡的, 相同的編程方法和結(jié)果對于T-1板卡來說也是適用的.

 性能結(jié)果

呼叫控制
錄音和放音
系統(tǒng)可擴展性: 放音CPU使用率
系統(tǒng)可擴展性: 錄音CPU使用率
1200通道使用擴展異步模式放音時CPU使用率
1200通道使用擴展異步模式錄音時CPU使用率

  這部分主要介紹了測試的程序和性能指標. 性能測試程序是根據(jù)"VI.高密度媒體服務(wù)器測試環(huán)境" 部分來搭建的, 應(yīng)用程序包括:

  • 呼叫控制
  • 放音和錄音

  呼叫控制

  呼叫控制應(yīng)用設(shè)計為要達到最高的呼叫控制完成率. 呼叫控制完成率被定義為在一個E-1上一個小時之內(nèi)完成的呼叫數(shù)(沒有呼叫間的延遲和呼叫內(nèi)的延遲).

  設(shè)計考慮

  這個應(yīng)用程序設(shè)計時主要有以下考慮:

  • 減少磁盤 I/O: 所有的錄音和放音都是通過內(nèi)存
  • 這個應(yīng)用程序基于 R4 API
  • 這個應(yīng)用程序用擴展異步模式寫的
  • 錄音和放音前沒有呼叫建立

  呼叫控制序列

  在這個呼叫控制應(yīng)用中, 系統(tǒng)只能下面操作:
  1. 雙方都打開通道
  2. 接收方等待呼叫
  3. 發(fā)起方發(fā)出一個呼叫
  4. 呼叫被建立
  5. 接收方檢測到呼叫建立然后馬上掛斷呼叫
  6. 發(fā)起方接收到掛機信號也進行掛機

系統(tǒng)反應(yīng)呼叫流程圖

  1200端口呼叫控制結(jié)果

  呼叫控制完成率測試結(jié)果為: 2,116,800 呼叫每小時每個E-1板卡(120通道). 或者說它用了0.2秒的時間在任意一個通道上完成一個呼叫.
這個數(shù)據(jù)通過接收方五塊卡和發(fā)送方五塊卡測試得出, 它們就是在那個插十塊卡的機箱里面用對接電纜來連接.

  放音和錄音

  放音和錄音是每一個媒體服務(wù)器的基本功能. 對于一個媒體服務(wù)器來說高性能是非常關(guān)鍵的. 這個例子程序演示了在測試系統(tǒng)上所有通道同時進行錄音和放音操作.

  CPU 使用率和系統(tǒng)可擴展性得到考量. 使用了兩種不同的消息處理模型. 第一是異步單線程模式, 使用sr_waitEvt() 第二是使用擴展異步模式, 使用sr_waitEvtEx(). 結(jié)果表明在高密度系統(tǒng)中這兩種模式有很大的不同.
現(xiàn)在的 sr_waitEvtEx() 實現(xiàn)是使用一個線形的查找來把事件來匹配sr_waitevtEx()里面定義的每一個設(shè)備句柄. 使用 sr_waitEvt()就不會有這種負擔, SRL只是把事件返回給你,. 應(yīng)用程序可以自己實現(xiàn)時間匹配機制. 我們使用的是STL的map類, 這可以有比線形查找更好的性能, 也就會有更好的結(jié)果.

  這部分提供了使用正確的線程和通道數(shù)組合的測試結(jié)果, 使用的是擴展異步編程模式sr_waitEvtEx().

  對于異步單線程模式(我們推薦), 顯示對于一個系統(tǒng)中10塊板卡來說, 放音和錄音使用了24%到27%的CPU時間, 擴展異步模式使用了36%到28%. 系統(tǒng)顯示了很高的擴展性, CPU使用率和通道數(shù)成線形增長.

  下面部分和圖介紹了按照"VI高密度媒體服務(wù)器測試環(huán)境"來創(chuàng)建的性能指標.

  系統(tǒng)可擴展性: 放音CPU使用率

  圖 1 顯示了推薦的異步模式使用 sr_waitevt() 和擴展異步模式使用 sr_waitEvtEX(). 你可以看到, 推薦的編程模式有更好的結(jié)果.

  系統(tǒng)可以很好的擴展. CPU使用率和系統(tǒng)中的端口數(shù)成線形比例. 圖 1 顯示了應(yīng)用程序運行1, 2, 4, 6, 8, 10塊板卡時的CPU使用率.



圖 1:不同編程模式的放音CPU使用率和可擴展性

  系統(tǒng)可擴展性: 錄音CPU使用率

  圖 2 顯示了推薦的異步模式使用 sr_waitevt() 和擴展異步模式使用 sr_waitEvtEX(). 你可以看到, 推薦的編程模式有更好的結(jié)果.
系統(tǒng)可以很好的擴展. CPU使用率和系統(tǒng)中的端口數(shù)成線形比例. 圖 1 顯示了應(yīng)用程序運行1, 2, 4, 6, 8, 10塊板卡時的CPU使用率.



圖 2: 比較不同編程模式錄音CPU使用率和可擴展性

  1200通道放音CPU使用率,使用擴展異步模式

  圖 3 顯示了運行的線程數(shù)和不同的CPU使用率. 當有多個一個線程運行的時候, 每個線程處理一定的負荷. 例如, 如果有兩個線程運行, 每個處理600個同時的放音.



圖 3: 1200通道放音CPU使用率

  1200通道錄音CPU使用率, 使用擴展異步模式

  圖 4 顯示了運行的線程數(shù)和不同的CPU使用率. 當有多個一個線程運行的時候, 每個線程處理一定的負荷. 例如, 如果有兩個線程運行, 每個處理600個同時的錄音.



圖 4: 1200端口錄音CPU使用率




[ 本文英文版 ]

 

 

融合通信專欄>>應(yīng)用>>