在Windows 2000操作系統上使用Dialogic Netstructure DM/V和DM/V-A系列板卡建立高密度系統,
和優(yōu)化性能
■ 概 述
在今天的經(jīng)濟環(huán)境中, 快速建立高密度,可擴展和可靠的通信平臺并把它們推廣到市場(chǎng)對于OEM,
集成商, 和獨立軟件開(kāi)發(fā)商來(lái)說(shuō)是至關(guān)重要的, 這可以為這些廠(chǎng)商提供競爭力和持久的成功.
隨著(zhù)增值服務(wù)需求的增長(cháng), 大的企業(yè)和服務(wù)提供商不斷地打破系統密度的界限. 對于客戶(hù)需求的低價(jià)格,高密度媒體服務(wù)器,
并滿(mǎn)足關(guān)鍵密度和性能, Dialogic測試了1200端口媒體服務(wù)器方案,并對超高密度的系統作了系統軟件的優(yōu)化. 因此,客戶(hù)現在可以放心地建造各種各樣的復雜的應用例如呼叫中心,
會(huì )議和交換應用.
這個(gè)參考設計指南會(huì )描述媒體服務(wù)器測試環(huán)境, 使用了什么建筑模塊, 并提供性能測試結果. 這些可以揭示了創(chuàng )建高密度系統的性能指標,
如何達到這個(gè)性能指標, 使用Dialogic Netstructure DM/V和DM/V-A系列板卡和Windows2000操作系統(包括service
pack2)還有為電信級關(guān)鍵應用創(chuàng )建的媒體服務(wù)器軟件.
■ 簡(jiǎn) 介
在目前市場(chǎng)環(huán)境下, dot-com泡沫破裂后和激烈的基本服務(wù)的競爭, 使運營(yíng)商的銷(xiāo)售額下降, 網(wǎng)絡(luò )資源得不到有效利用還有設備投資也同樣下降.
他們迫切希望尋找新的銷(xiāo)售額來(lái)源, 而且是投資不高的. 同時(shí), 大中型企業(yè)也在尋找改進(jìn)客戶(hù)滿(mǎn)意度, 留住客戶(hù)和增加員工效率的方法,
同減少運營(yíng)和架構投資.
因此, 企業(yè)和運營(yíng)商都在尋找創(chuàng )新的增值服務(wù), 也希望建立在開(kāi)放的,基于標準的建筑模塊. 還有, 兩種客戶(hù)都需要靈活的,
很快集成的, 投資不高的, 但能提供很強的投資回報的方案. 為了滿(mǎn)足這些需要而且達到商業(yè)增長(cháng)需要的密度要求, 通信網(wǎng)絡(luò )和方案必須保證可擴展性而且不會(huì )讓系統的性能受到影響.
媒體服務(wù)器是實(shí)施這些增值服務(wù)的平臺. 而且, 側重于控制成本, 今天的重點(diǎn)是高密度,可擴展,需要空間不大的媒體服務(wù)器.
Dialogic 提供開(kāi)放的基于標準的建筑模塊, 可以用來(lái)開(kāi)發(fā)和實(shí)施高性?xún)r(jià)比, 高密度的媒體服務(wù)器. Dialogic NetStructure
DM/V 語(yǔ)音和 DM/V-A 多功能系列卡支持語(yǔ)音處理, 語(yǔ)音識別, 會(huì )議, 都只在一塊PCI或CPCI插槽中.
一臺計算機中可以插多塊這個(gè)系列的板卡, 減少了需要的可擴展的高密度方案的硬件空間.
為了減少客戶(hù)推向市場(chǎng)的時(shí)間, Dialogic在下面環(huán)境開(kāi)發(fā)和測試了1200端口媒體服務(wù)器系統: DM/V語(yǔ)音卡和DM/V-A多功能卡,
Windows 2000操作系統和service pack2 , Windows版 Dialogic® Dialogic®
系統軟件 5.1. 通過(guò)嚴格的測試和分析, 關(guān)注在超高密度方案的可擴展性和性能上, Dialogic工程師成功地建立了最優(yōu)的板卡參數,
客戶(hù)可以有信心地在單一系統中密度達到更高的密度. 這個(gè)1200端口媒體服務(wù)器參考手冊就是記錄了他們實(shí)現和性能測試的步驟.
高密度媒體服務(wù)器的應用有
- 統一消息 - 把語(yǔ)音,傳真和通常的文本消息作為對象來(lái)處理, 在統一的一個(gè)信箱中, 用戶(hù)可以使用電子郵件或者電話(huà)來(lái)訪(fǎng)問(wèn).
如果一個(gè)用戶(hù)的計算機有多媒體功能, 用戶(hù)可以打開(kāi)和播放語(yǔ)音消息. 傳真的圖像可以被保存或者打印. 一個(gè)用戶(hù)可以通過(guò)電話(huà)訪(fǎng)問(wèn)同一個(gè)油箱,里面的電子郵件文本可以被轉換成語(yǔ)音文件放給用戶(hù)聽(tīng).
- 網(wǎng)絡(luò )呼叫中心/聯(lián)絡(luò )中心 - 一個(gè)集中的地方, 客戶(hù)和其他電話(huà)被一個(gè)組織來(lái)處理, 通常有部分呼叫被計算機自動(dòng)處理.
呼叫中心可以在任何組織里需要使用電話(huà)產(chǎn)生銷(xiāo)售或提供服務(wù)里實(shí)施.
- 自動(dòng)語(yǔ)音回復(IVR) - 這是一個(gè)軟件應用, 它接收電話(huà)語(yǔ)音的輸入和按鍵選擇并提供相應的回復, 可以是語(yǔ)音,
傳真, 回呼, EMAIL和其它媒體. IVR通常是一個(gè)大應用程序中的一部分.
- 語(yǔ)音門(mén)戶(hù) - 一個(gè)網(wǎng)站或者其它服務(wù), 用戶(hù)可以通過(guò)電話(huà)來(lái)訪(fǎng)問(wèn)信息, 例如天氣, 體育成績(jì), 或者股票價(jià)格.
可以使用自然語(yǔ)言或按鍵來(lái)發(fā)出請求, 語(yǔ)音門(mén)戶(hù)使用文本轉語(yǔ)音(TTS)技術(shù)播放語(yǔ)音或者通過(guò)Email形式回復.
- 會(huì )議 - 使多方可以加入一個(gè)電話(huà)談話(huà)中
- 預付費/預付費卡 - 一個(gè)客戶(hù)為了打電話(huà)事先購買(mǎi)了一定量的呼叫時(shí)間或者一定的金額話(huà)費, 隨著(zhù)打電話(huà)卡的價(jià)值也隨之減少.
計費一般都是在一個(gè)遠程的交換機, 用戶(hù)撥入來(lái)進(jìn)行呼叫.
- 語(yǔ)音郵件 - 讓用戶(hù)可以接收,編輯和轉發(fā)消息到一個(gè)或多個(gè)語(yǔ)音信箱
- 國際回呼 - 是一個(gè)系統為了避免電話(huà)公司的長(cháng)途話(huà)費, 讓美國境內產(chǎn)生一個(gè)呼叫然后把原始呼叫者加入到會(huì )議中
- 網(wǎng)關(guān)交換 - 一個(gè)網(wǎng)關(guān)是一個(gè)網(wǎng)絡(luò )節點(diǎn), 作為到另一個(gè)網(wǎng)絡(luò )的入口. 一個(gè)網(wǎng)關(guān)經(jīng)常與路由器和交換機聯(lián)系起來(lái), 路由器知道把到達網(wǎng)關(guān)的特定的數據包轉到相應的地方,
交換機提供提供一個(gè)包進(jìn)出網(wǎng)關(guān)的實(shí)際路徑.
■ 高密度(1200端口)媒體網(wǎng)關(guān)
Dialogic創(chuàng )建, 測試和優(yōu)化一個(gè)1200端口媒體服務(wù)器參考系統主要關(guān)注的是可擴展性和性能. Dialogic如何增加更多的端口而不會(huì )影響客戶(hù)期望和要求的高性能呢?
系統必須要可擴展, 客戶(hù)需要從一個(gè)T-1或E-1線(xiàn)到40個(gè)而不會(huì )引起性能的降級.
最新的性能結果是一個(gè)系統中插了10塊Dialogic NetStructure DM/V 語(yǔ)音系列板卡 (1200
通道), 執行同時(shí)的放音/錄音功能, CPU利用率為 20%左右 , 密度升高也不會(huì )引起性能下降. CPU使用率和通道數是一個(gè)線(xiàn)性比率,說(shuō)明這個(gè)架構有良好的擴展性.
■ 方 法
再配置1200端口媒體服務(wù)器架構時(shí), Dialogic工程師選擇了Dialogic建筑模塊和第三方模塊, 組合起來(lái)可以達到較高的性能和較低的CPU使用率.
這個(gè)服務(wù)器配置了10塊Dialogic NetStructure DM/V 語(yǔ)音系列板卡 (DMV1200-4E1-PCI
/ DM/V1200-4E1-CPCI), 提供網(wǎng)絡(luò )連接和語(yǔ)音處理, 它們支持4個(gè)網(wǎng)絡(luò )接口和120端口的語(yǔ)音處理能力.
類(lèi)似的測試也在10塊DM/V-A多功能系列板卡上作過(guò), 它有4個(gè)數字網(wǎng)絡(luò )接口和增強型媒體能力, 還支持連續語(yǔ)音處理(CSP).
了解更多功能請參閱在線(xiàn)文檔: .
這些板卡被裝在一個(gè)機箱里, 配置了 Dialogic® Pentium® III 處理器, 1000
MHz CPU, 運行 Windows2000操作系統和service pack2. 使用Windos2000和 Windows版Dialogic
Dialogic 系統軟件 5.1讓開(kāi)發(fā)者擁有高可用性, 高性能, 滿(mǎn)足電信級, 運營(yíng)商和大企業(yè)應用方案.
Windows2000的高效的性能模型被利用來(lái)提高系統的性能. 測試結果表明了可接受的系統可擴展性和穩定性. 在超高密度系統上,
CPU使用率很低, 還留有很多空間讓客戶(hù)可以創(chuàng )建他們的應用程序達到很好的性能.
這個(gè)媒體服務(wù)器測試了可擴展性和性能. Dialogic工程師開(kāi)發(fā)了一個(gè)簡(jiǎn)單的消息應用, 然后在1200通道的系統上進(jìn)行了測試,
每個(gè)通道只能連續的放音和錄音操作. 系統軟件包括庫和固件也進(jìn)行了優(yōu)化; 每一方面都達到極限來(lái)確定系統的靈活性, 某種資源在什么密度下是極限.
一旦發(fā)現, 立即作系統優(yōu)化, 這個(gè)過(guò)程不斷在進(jìn)行, 直到達到合適的密度要求而且不會(huì )有性能的下降.
不同的編程模式也進(jìn)行了測試. 同步和異步, 單線(xiàn)程和多線(xiàn)程 - 工程師測試了不同的情況來(lái)判斷如何達到最優(yōu)的性能.
基于1200通道, Dialogic工程師測試了每個(gè)線(xiàn)程不同的通道數(例如每個(gè)線(xiàn)程120端口和240端口). 測試結果表明,
在1200端口的配置中, 每個(gè)線(xiàn)程120個(gè)端口是最高效的, 如果客戶(hù)使用了多線(xiàn)程異步編程模式利用sr_waitEvtEX()來(lái)處理事件.
異步單線(xiàn)程模式在本文檔進(jìn)行了詳細的介紹, 它是被推薦的最高CPU使用率的編程模式. 但是, 使用120端口每個(gè)線(xiàn)程(多線(xiàn)程異步模式)和單線(xiàn)程異步模式的區別是很小的.
異步單線(xiàn)程是推薦使用的編程模式, 它可以比擴展異步模式達到更低的CPU使用率; 而且系統顯示了很好的擴展性, PCU使用率和端口數是一個(gè)線(xiàn)形關(guān)系.
創(chuàng )建1200端口媒體服務(wù)器的方法被記錄下來(lái), 開(kāi)發(fā)者可以在寫(xiě)自己程序的時(shí)候進(jìn)行參考:
- 放音/錄音終止
- 編程模式
- 使用連接地/索引放音而不是調用多個(gè)dx_play()命令
- 調用dx_stopch( )
- 優(yōu)化設備的性能
- 設備初始化
這些參考建議都在本手冊的
部分.
■ 開(kāi)發(fā)環(huán)境
為了創(chuàng )建一個(gè)可以超過(guò)過(guò)去系統瓶頸密度要求, Dialogic工程師選擇了Dialogic產(chǎn)品和第三方產(chǎn)品, 集成起來(lái)可以達到電信級媒體服務(wù)器的高可用性和高性能.
Windows2000操作系統和service pack2
這個(gè)1200端口的媒體服務(wù)器是建立在 Windows2000操作系統和service pack2上, 使用 Dialogic
Dialogic SR 5.1.1 軟件 Windows版, 它支持高密度高可用性的通信平臺. 這個(gè)模塊化的架構支持快速的開(kāi)發(fā)周期,
提供定義良好的, 標準的接口, 保證了硬件的兼容. 不只是密度大大地增加了, 也達到了更好的系統性能. 這個(gè)系統的高密度和高性能讓復雜的消息,呼叫中心,
會(huì )議和交換應用成為可能.
Dialogic® NetStructure 語(yǔ)音和多功能系列板卡
DM/V 和 DM/V-A 辦卡系列是建立在強大的DM3架構上 - 一個(gè)靈活的,模塊化的和開(kāi)放的架構平臺, 用來(lái)開(kāi)發(fā)先進(jìn)的呼叫處理應用,
滿(mǎn)足媒體服務(wù)器的高密度和高性能要求. 開(kāi)發(fā)者在一個(gè)機箱中可以開(kāi)發(fā)的系統密度從48到1200端口的T-1/E-1 網(wǎng)絡(luò )連接,
還有辦卡上的語(yǔ)音, 講話(huà)和會(huì )議媒體的功能.
DM/V-A 辦卡系列提供了創(chuàng )新性的連續語(yǔ)音處理技術(shù), 它是一個(gè)基于DSP的信號處理方案, 可以與業(yè)界領(lǐng)先的語(yǔ)音識別軟件無(wú)縫連接提供友好的用戶(hù)界面.
板卡上的會(huì )議功能一共了業(yè)界最強大的功能集, 給最終用戶(hù)提供了非常愉快的會(huì )議的體驗. 高級的算法可以防止會(huì )議中的噪音和回聲.
它也可以平衡參與者的語(yǔ)音音量, 提供DTMF檢測限制進(jìn)入退出會(huì )議的音頻. 板卡上的會(huì )議可以讓Dialogic的客戶(hù)實(shí)施電信級的會(huì )議系統,
提供豐富的功能, 良好的語(yǔ)音質(zhì)量和密度, 費用比私有的系統降低很多.
高密度媒體服務(wù)器測試環(huán)境
DM/V 語(yǔ)音系列板卡
- 一塊板卡支持120端口聲音處理和四個(gè)數字網(wǎng)絡(luò )接口,每個(gè)系統可以擴展到1200端口
- 支持"完美呼叫"的呼叫過(guò)程分析, 可以精確區分人的聲音和自動(dòng)錄音回復以及網(wǎng)絡(luò )噪音
- 可下載的信令和呼叫分析固件提供了靈活性
- 支持工業(yè)標準 PCI 和 CompactPCI 總線(xiàn)
- 提供 T-1 或 E-1 數字接口, 支持全球的 CAS 和 ISDN PRI 信令
- 通過(guò)GlobalCall接口提供統一的呼叫控制, 縮短了開(kāi)發(fā)時(shí)間, 應用程序在全球部署都可以兼容.
DM/V-A 多功能系列板卡
包含所有的DM/V板卡的功能,還有:
- 支持連續語(yǔ)音處理
- 提供板卡上的高密度會(huì )議方案, 可以用來(lái)實(shí)施電信級會(huì )議系統.
- 支持 G.726, GSM, 和 TrueSpeech* 語(yǔ)音編碼
軟 件
Windows版系統軟件 5.1.1 提供了很多的媒體資源 (聲音, 傳真, 語(yǔ)音和會(huì )議) 和數字網(wǎng)絡(luò )接口, 在Redhat
7.2 Linux操作系統和Dialogic DM3板卡上. 而且, Windows SR 6.0 的方案使用 CompactPCI*
總線(xiàn)支持熱插拔(PHS), SNMP, 檢測, 單板啟動(dòng)和停止操作, 固件跟蹤, 更快的系統下載和初始化時(shí)間.
本文檔剩下部分詳細介紹了1200端口媒體服務(wù)器的性能指南, 測試環(huán)境和性能結果. 客戶(hù)希望了解創(chuàng )建1200端口媒體服務(wù)器的更多信息請與Dialogic技術(shù)銷(xiāo)售代表或客戶(hù)經(jīng)理聯(lián)系.
■ 高密度系統性能指南
當為包含DM/V語(yǔ)音卡和DM/V-A多功能卡進(jìn)行編程的時(shí)候, Dialogic建議采用下面方法來(lái)使系統的性能最大化. 這些方法包括:
- 放音/錄音終止
- 編程模式
- 使用連接/索引放音而不是調用多個(gè) dx_play() 命令
- 調用 dx_stopch( )
- 優(yōu)化設備的性能
- 設備初始化
放音/錄音終止
終止事件
在DV_TPT結構中使用DX_DIGMASK作為終止條件, 而不是調用DX_CST結構然后用dx_stopch()來(lái)終止通道上的I/O操作.
DV_TPT結構定義了終止的條件.
最長(cháng)時(shí)間
在DV_TPT結構中使用DX_MAXTIME最長(cháng)函數時(shí)間參數, 而不是通過(guò)DX_IOTT結構中的io_length的長(cháng)度來(lái)終止.
DV_TPT結構定義了錄音終止條件.
最長(cháng)函數時(shí)間就是錄音/放音的時(shí)間.
編程模式
為了使性能最大化, 使用異步單線(xiàn)程編程模式和sr_waitevt() 函數. 下面的測試數據是測試應用程序使用STL的mapper類(lèi),
它可以有比線(xiàn)形匹配更好的匹配算法. 同樣, 開(kāi)發(fā)者使用這種模型也必須設計一種更好的時(shí)間處理匹配算法.
下面介紹了關(guān)于編程模式的信息:
使用異步單線(xiàn)程模式
對于這種系統來(lái)說(shuō), 異步單線(xiàn)程編程模式是推薦的. 應用程序要正確取出和處理事件. 例如, 應用程序可能會(huì )與數據庫交互,
它可能需要把事件交給另一個(gè)線(xiàn)程來(lái)處理以免數據庫操作會(huì )阻塞取事件的縣城. 這種方法可以讓你實(shí)現事件處理的方案來(lái)達到更高的性能.
線(xiàn)程數
根據應用程序的不同, 最佳的線(xiàn)程和通道數的組合也不同. 如上面所說(shuō), 我們建議一個(gè)線(xiàn)程來(lái)處理DM3的事件. 有可能需要調整編程模式來(lái)達到更好的性能.
例如, 讓單獨的線(xiàn)程專(zhuān)門(mén)做系統的I/O操作可能會(huì )提高系統性能. 而且, 如果應用程序使用了從內存錄音/放音功能, 增加上面一個(gè)專(zhuān)門(mén)的線(xiàn)程也許不會(huì )改進(jìn)整體系統的性能.
總之, 對于Windows系統, 我們的結果表明如果沒(méi)有大量的硬盤(pán)操作, 越少的線(xiàn)程數系統的性能越好. 但是,這只是一個(gè)籠統的推薦.
你需要根據你的應用的特點(diǎn)來(lái)調整編程模式來(lái)達到最佳的結果.
進(jìn)程數
這里有兩點(diǎn)考慮:
1. 根據你的服務(wù)的可用性需求來(lái)決定你系統的進(jìn)程數 因為進(jìn)程是單獨運行的. 如果一個(gè)進(jìn)程遇到錯誤或者停止服務(wù)了,
其它的還是可用的. 如果, 你用一個(gè)進(jìn)程來(lái)處理所有的資源, 那么如果這個(gè)進(jìn)程停止了服務(wù), 整個(gè)系統都不可用了.
2. 多個(gè)進(jìn)程會(huì )增加系統的負擔從而降低整體系統的性能. 總之, 你要避免一個(gè)系統中的大量的進(jìn)程. 操作系統處理多個(gè)進(jìn)程的負荷會(huì )影響到系統的性能.
因此, 你需要根據服務(wù)的可用性和整體系統的性能來(lái)尋找一個(gè)平衡點(diǎn). 建議你使用多種不同的組合來(lái)判斷哪種模式是最佳的.
注意: 一個(gè)設備不能被多個(gè)進(jìn)程訪(fǎng)問(wèn).
減少磁盤(pán) I/O 操作
減少磁盤(pán)I/O操作(例如從內存中放音和錄音)可以是高密度系統的性能最大化. Dialogic提供個(gè)API可以讓放音/錄音對內存而不是對磁盤(pán)文件操作.
Dialogic 建議應用程序管理磁盤(pán)I/O來(lái)減少磁盤(pán)I/O的操作來(lái)達到系統的高性能.
使用連接/索引放音而不是調用多個(gè)dx_play()命令
不要使用多個(gè)Play命令, 而是要使用DX_IOTT機構中來(lái)定義從內存或磁盤(pán)的數據傳輸. DX_IOTT是一個(gè)結構連接,
可以制定從某個(gè)文件或某個(gè)文件的一部分(使用lseek() 來(lái)設定偏移量) 以一個(gè)序列進(jìn)行放音. 這會(huì )減少調用 dx_play()
的數目. 這也被稱(chēng)作連續放音或索引放音. 同樣對于錄音來(lái)說(shuō)道理也是一樣.
調用 dx_stopch( )
對了達到高性能, 要異步調用 dx_stopch( ) 而不是同步模式. 異步調用這個(gè)函數就不會(huì )讓線(xiàn)程阻塞等待它的終止,
在這個(gè)通道終止的過(guò)程中, 程序可以繼續處理其它設備和事件. 對于要達到最佳性能的應用程序, 要使用異步編程技巧.
優(yōu)化設備的性能
如果你打開(kāi)和關(guān)閉設備或者你的應用程序使用GlobalCall來(lái)自動(dòng)打開(kāi)關(guān)閉設備, 應用程序的性能可能會(huì )受到影響.
為了優(yōu)化性能, 我們建議你在應用程序初始化時(shí)打開(kāi)所有的DM3設備, 然后保持它們打開(kāi)狀態(tài)直到系統終止. 所有設備都應該在空閑狀態(tài)被關(guān)閉,
所有設備應該在應用程序終止的時(shí)候關(guān)閉.
設備初始化
設備初始化的方法可以參見(jiàn)手冊 Compatibility Guide for the Dialogic Dialogic
R4 API on DM3 Products for Windows
xx_open( ) 函數包括聲音 (dx), Global Call (gc), 網(wǎng)絡(luò ) (dt), 和傳真 (fx)
API, 它們在DM3上是異步函數, 和標準R4的同步不同. 這對于應用程序來(lái)說(shuō)不會(huì )有影響, 只有在當設備在初始化時(shí)對這個(gè)設備的下一個(gè)函數調用開(kāi)始了.
在這種情況下, 初始化必須要結束以后后面的函數才能開(kāi)始. 那個(gè)函數可能不會(huì )返回錯誤, 但是它會(huì )阻塞在那里直到設備初始化完成.
例如, 你的應用程序調用了下面兩個(gè)函數:
dx_open() dx_getfeaturelist()
dx_getfeaturelist( ) 被阻塞, 直到設備的初始化完全完成, 即使dx_open( ) 已經(jīng)返回成功.
換句話(huà)說(shuō), 初始化dx_open( ) 可能看起來(lái)已經(jīng)完成, 但是實(shí)際上它還在繼續進(jìn)行. 在某些應用中, 這可能會(huì )引起設備初始化性能下降.
幸運的是, 你可以通過(guò)重新配置打開(kāi)和配置設備的序列來(lái)避免這種問(wèn)題的發(fā)生. 推薦的方法是調用別的函數前, 首先調用所有的
xx_open( ) 函數打開(kāi)所有通道. 例如,你可以用一個(gè)循環(huán)輪詢(xún)所有的設備調用所有的xx_open( ) 函數,
然后開(kāi)第二個(gè)循環(huán)來(lái)配置它們, 這樣就可以避免你調用一個(gè)xx_open( ) 函數以后,馬上在相同設備上調用其它API函數.
使用這種方法, 當所有 xx_open( ) 命令結束的事后, 第一個(gè)通道就已經(jīng)初始化完畢,你就不會(huì )遇到任何問(wèn)題.
這種改變不是對于所有應用都是需要的, 但是如果你遇到了很差的初始化性能, 你可以使用這種方法來(lái)進(jìn)行改進(jìn).
■ 高密度媒體服務(wù)器測試環(huán)境
下面描述了Dialogic如何建立媒體服務(wù)器來(lái)完成性能測試.
硬件和軟件
這部分主要描述了在測試高密度媒體服務(wù)器中使用了什么. 這里介紹了PCI總線(xiàn)的
PCI 總線(xiàn)
硬件: Dialogic Pentium III processor, 1000 MHz CPU
操作系統: Windows2000
開(kāi)發(fā)軟件: Dialogic Dialogic SR 5.1 for Windows
機箱: Transduction Berta 1000
內存: 512 MB SDRAM PC133
硬盤(pán): Seagate ST330620A-30GB IDE (7200 rpm, 8.5ms Seek Time)
板卡: 10個(gè) Dialogic NetStructure DM/V 語(yǔ)音和 DM/V-A 多功能系列板卡: DM/V1200A-4E1-PCI
或 DM/V1200-4E1-CPCI. 盡管這個(gè)文檔測試的系統是E-1板卡的, 相同的編程方法和結果對于T-1板卡來(lái)說(shuō)也是適用的.
■ 性能結果
這部分主要介紹了測試的程序和性能指標. 性能測試程序是根據"VI.高密度媒體服務(wù)器測試環(huán)境"
部分來(lái)搭建的, 應用程序包括:
呼叫控制
呼叫控制應用設計為要達到最高的呼叫控制完成率. 呼叫控制完成率被定義為在一個(gè)E-1上一個(gè)小時(shí)之內完成的呼叫數(沒(méi)有呼叫間的延遲和呼叫內的延遲).
設計考慮
這個(gè)應用程序設計時(shí)主要有以下考慮:
- 減少磁盤(pán) I/O: 所有的錄音和放音都是通過(guò)內存
- 這個(gè)應用程序基于 R4 API
- 這個(gè)應用程序用擴展異步模式寫(xiě)的
- 錄音和放音前沒(méi)有呼叫建立
呼叫控制序列
在這個(gè)呼叫控制應用中, 系統只能下面操作:
1. 雙方都打開(kāi)通道
2. 接收方等待呼叫
3. 發(fā)起方發(fā)出一個(gè)呼叫
4. 呼叫被建立
5. 接收方檢測到呼叫建立然后馬上掛斷呼叫
6. 發(fā)起方接收到掛機信號也進(jìn)行掛機
下面的圖顯示了系統反應呼叫的流程.

1200端口呼叫控制結果
呼叫控制完成率測試結果為: 1,100,000 呼叫每小時(shí)每個(gè)E-1板卡(120通道). 或者說(shuō)它用了0.4秒的時(shí)間在任意一個(gè)通道上完成一個(gè)呼叫.
這個(gè)數據通過(guò)接收方五塊卡和發(fā)送方五塊卡測試得出, 它們就是在那個(gè)插十塊卡的機箱里面用對接電纜來(lái)連接.
放音和錄音
放音和錄音是每一個(gè)媒體服務(wù)器的基本功能. 對于一個(gè)媒體服務(wù)器來(lái)說(shuō)高性能是非常關(guān)鍵的. 這個(gè)例子程序演示了在測試系統上所有通道同時(shí)進(jìn)行錄音和放音操作.
CPU 使用率和系統可擴展性得到考量. 使用了兩種不同的消息處理模型. 第一是異步單線(xiàn)程模式, 使用sr_waitEvt()
第二是使用擴展異步模式, 使用sr_waitEvtEx(). 結果表明在高密度系統中這兩種模式有很大的不同.
現在的 sr_waitEvtEx() 實(shí)現是使用一個(gè)線(xiàn)形的查找來(lái)把事件來(lái)匹配sr_waitevtEx()里面定義的每一個(gè)設備句柄.
使用 sr_waitEvt()就不會(huì )有這種負擔, SRL只是把事件返回給你,. 應用程序可以自己實(shí)現時(shí)間匹配機制.
我們使用的是STL的map類(lèi), 這可以有比線(xiàn)形查找更好的性能, 也就會(huì )有更好的結果.
這部分提供了使用正確的線(xiàn)程和通道數組合的測試結果, 使用的是擴展異步編程模式sr_waitEvtEx().
對于異步單線(xiàn)程模式(我們推薦), 顯示對于一個(gè)系統中10塊板卡來(lái)說(shuō), 放音和錄音使用了24%到27%的CPU時(shí)間,
擴展異步模式使用了36%到28%. 系統顯示了很高的擴展性, CPU使用率和通道數成線(xiàn)形增長(cháng).
下面部分和圖介紹了按照"VI高密度媒體服務(wù)器測試環(huán)境"來(lái)創(chuàng )建的性能指標.
系統可擴展性: 放音CPU使用率
圖 1 顯示了推薦的異步模式使用 sr_waitevt() 和擴展異步模式使用 sr_waitEvtEX().
你可以看到, 推薦的編程模式有更好的結果.
系統可以很好的擴展. CPU使用率和系統中的端口數成線(xiàn)形比例. 圖 1 顯示了應用程序運行1, 2, 4, 6,
8, 10塊板卡時(shí)的CPU使用率.

系統可擴展性: 錄音CPU使用率
圖 2 顯示了推薦的異步模式使用 sr_waitevt() 和擴展異步模式使用 sr_waitEvtEX().
你可以看到, 推薦的編程模式有更好的結果.
系統可以很好的擴展. CPU使用率和系統中的端口數成線(xiàn)形比例. 圖 1 顯示了應用程序運行1, 2, 4, 6,
8, 10塊板卡時(shí)的CPU使用率.
1200通道放音CPU使用率,使用擴展異步模式
圖 3 顯示了運行的線(xiàn)程數和不同的CPU使用率. 當有多個(gè)一個(gè)線(xiàn)程運行的時(shí)候, 每個(gè)線(xiàn)程處理一定的負荷. 例如,
如果有兩個(gè)線(xiàn)程運行, 每個(gè)處理600個(gè)同時(shí)的放音.

1200通道錄音CPU使用率, 使用擴展異步模式
圖 4 顯示了運行的線(xiàn)程數和不同的CPU使用率. 當有多個(gè)一個(gè)線(xiàn)程運行的時(shí)候, 每個(gè)線(xiàn)程處理一定的負荷. 例如,
如果有兩個(gè)線(xiàn)程運行, 每個(gè)處理600個(gè)同時(shí)的錄音.

[
本文英文版 ]
|