一、簡介
在國產替代和信創的大趨勢下,企業服務的關鍵軟件適配國產CPU和國產操作系統成為必然。SBC作為企業通信的關鍵部件,一定要能夠適配國產系統,保證具有相同的功能、性能和兼容性。
毅航互聯SoftSBC-1000作為主流的企業通信SBC之一,已經完成國產系統的移植和適配,并由本文檔做相應的測試記錄。作為選型和上線的參考。
目前,國產CPU有較多的選擇(如:華為鯤鵬、龍芯等),考慮到在通訊領域和云平臺的因素,選擇“華為鯤鵬920”ARM64 CPU作為適配的CPU平臺。操作系統選擇主流的“銀河麒麟高級服務器操作系統V10”ARM版本。
測試在物理服務器上進行(寶德自強PT620K鯤鵬臺式機),以保證原生適配和性能。
為了便于評估云平臺上的性能,本測試是在上述服務器上的虛擬機中進行的。
由于毅航互聯SoftSBC-1000的功能非常多,本測試主要完成最簡單情況下的通話測試,包括:不轉碼透傳通話、轉碼通話和壓力測試。
經過上述測試驗證,毅航互聯SoftSBC-1000產品適配“華為鯤鵬920”CPU和“銀河麒麟高級服務器操作系統V10”ARM版本。
毅航互聯純軟SBC產品與基于硬件的SBC產品共享相同平臺、軟件和架構。純軟SBC產品將媒體接入、編解碼處理和錄音等由硬件轉換為純軟件實現,利用通用CPU的處理能力提供與硬件SBC相同的功能。
毅航互聯純軟SBC跑在通用服務器上,可本地部署,可云化部署,不需專用的硬件設備。
毅航互聯純軟SBC面向運營商、互聯網企業和呼叫中心,為客戶的SIP網絡提供強大的安全、編解碼轉換、內外網穿透、注冊代理、路由、信令流控/轉換、QoS/ACL等功能。
毅航互聯純軟SBC采用Soft iSX4000 HMP模塊替代硬件。HMP模塊在編解碼層面針對主機CPU做了大量的優化,可以提供更高的性能。純軟SBC秉承毅航互聯硬件SBC的分布式架構和模塊化部署,構成分布式計算網絡,以極低的功耗實現極高的性能。
毅航互聯純軟SBC設備最大支持1000并發會話和1000路語音媒體轉碼。除傳統電信編解碼(G.711/G.729/G.723),還支持3G/4G編解碼(AMR-NB/AMR-WB),以及互聯網編解碼(OPUS/iLBC)。另外,毅航互聯SBC還支持高清語音(G.722編解碼)。
毅航互聯純軟SBC支持雙機熱備,主備切換時信令和語音通話保持不中斷,用戶無感知。
注意:媒體轉碼能力和編解碼類型、CPU型號和數量有關系。
寶德自強PT620K鯤鵬臺式機基于8核鯤鵬920高性能通用微處理器,主頻2.6GHz,16G DDR4內存,2T硬盤。
具體參數見網站:
http://www.powerleader.com.cn/product_100/1105.html
銀河麒麟高級服務器操作系統V10是針對企業級關鍵業務,適應虛擬化、云計算、大數據、工業互聯網時代對主機系統可靠性、安全性、性能、擴展性和實時性的需求,依據CMMI 5級標準研制的提供內生安全、云原生支持、國產平臺深入優化、高性能、易管理的新一代自主服務器操作系統;同源支持飛騰、龍芯、申威、兆芯、海光、鯤鵬等自主CPU及x86平臺;可支撐構建大型數據中心服務器高可用集群、負載均衡集群、分布式集群文件系統、虛擬化應用和容器云平臺等,可部署在物理服務器和虛擬化環境、私有云、公有云和混合云環境;應用于政府、國防、金融、教育、財稅、公安、審計、交通、醫療、制造等領域。
具體性能參數見網站:
https://www.kylinos.cn/scheme/server/1.html
為了簡化,測試部件分成三個部分:
SoftSBC-1000:包括運行SoftSBC-1000軟件的載體服務器,服務器CPU配置為華為鯤鵬920 ARM64;
Eyebeam 1.5:包括運行eyebeam的電腦,模擬電話;
億聯SIP硬話機:模擬電話;
sipp:壓力測試時,模擬高并發。
整體的測試結構簡化如下圖:
測試版本為:iGatewayPackageOpeneular-1.0.0.release.aarch64.tar.gz
操作系統如下:
[root@localhost home]# uname -a
Linux localhost.localdomain 4.19.90-23.8.v2101.ky10.aarch64 #1 SMP Mon May 17 17:07:38 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
[root@localhost home]# cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"
[root@localhost home]# cat /etc/system-release
Kylin Linux Advanced Server release V10 (Tercel)
由于使用虛擬機進行測試,分配的CPU和內存如下圖:
processor : 0
model name : ARMv8 CPU
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 1
model name : ARMv8 CPU
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 2
model name : ARMv8 CPU
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 3
model name : ARMv8 CPU
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 4
model name : ARMv8 CPU
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
[root@localhost home]# free
total used free shared buff/cache available
Mem: 3846976 2334080 573824 15296 939072 957504
Swap: 2297792 1024000 1273792
CPU為:
processor : 0
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 1
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 2
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 3
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 4
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 5
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 6
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
processor : 7
model name : HUAWEI,Kunpeng 920
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0
使用測試版本。
由于eyebeam在counterpath已經下線和不提供下載,測試版本是從其他一些網站上下載的測試版本,測試后已經不再使用。
具體見:https://www.counterpath.com/
采用億聯T21P。
本節主要列出與呼叫測試相關的配置,其他常規的配置見使用手冊。
SIP棧采用缺省配置,IP地址為10.10.0.52,配置完成后,直接激活。
為測試用的SIP分機配置賬號,如下圖:
從圖上已經可以看到兩個分機都已經注冊上了SBC。
sipp呼入和應答在不同的中繼組中,分別用sipp_c和sipp_a表示,配置如下圖:
為了保證兩個中繼組間的分機互打,需要配置路由,如下圖:
從sipp_c到sipp_a的路由,如下圖:
Eyebeam的配置較為簡單,見相關的手冊說明。
億聯話機的配置也較為簡單,見相關的手冊說明。
發起呼叫采用如下的腳本:
如果使用G.711時,腳本如下:
./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g711a.xml 10.10.0.52:5060 -r 10 -rp 1000 -aa
sipp_uac_pcap_g711a.xml:本腳本會使能發G.711 alaw的RTP包。
如果使用G.729時,腳本如下:
./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g729.xml 10.10.0.52:5060 -r 10 -rp 1000 -aa
sipp_uac_pcap_g729.xml:本腳本會使能發G.729的RTP包。
應答呼叫的腳本:
./sipp -sf sipp_uas_basic.xml -i 10.10.99.30 -rtp_echo -mp 6000
將收到的RTP包全部echo回去。
兩個SIP電話間通過不同編碼的互打,通話正常。
在中繼組配置中,將alaw作為第一優先級,此時發起alaw通話,配置如下圖:
通話時,語音正常,通過抓包,可以確認此時為alaw呼叫。
在億聯話機的配置界面,將G.729編碼調整到最高優先級,將進行G.729呼叫,如下圖:
測試時語音正常。
通過抓包分析,一端是G.729,一端是G.711,由SBC執行轉碼。如下圖:
壓力測試時,由sipp打滿,然后通過SIP電話抽聽語音是否正常。
由于alaw的語音文件長度大概是25s,將呼叫頻度改為16CAPS,保證穩定的呼叫是400并發。在此條件下,用SIP電話抽聽語音正常。
./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g711a.xml 10.10.0.52:5060 -r 16 -rp 1000 –aa
從web查看到的呼叫統計如下圖:
單個中繼組的并發是400CAPS,和計算相符。
帶寬計算:
由于兩個sipp均在同一臺服務器的兩個虛擬機中,整體并發要按800通道算,共計65M多。下圖的帶寬和計算相符,并且入和出是相同的,表示正常:
從下圖可以看到CPU和內存均正常。
Eyebeam客戶端的抓包分析,沒有丟包和延遲,語音正常,如下圖:
由于G.729對CPU的消耗較高,同等的配置情況下,已經達不到原有的并發。因此,將測試時,系統并發修改到150并發。
發起呼叫的sipp的腳本如下:
./sipp -i 10.10.99.60 -p 6060 -sf ./sipp_uac_pcap_g729.xml 10.10.0.52:5060 -r 6 -rp 1000 -aa
此時,CAPS為6,在語音25s長度的情況下,并發為150。
在穩定時,并發如下圖:
入和出的帶寬基本上相同,可以認為是正常的,如下圖:
在此負荷的情況下,CPU已經非常高,如下圖:
Eyebeam客戶端的抓包分析,沒有丟包和延遲,語音正常,如下圖:
對比G.711的壓力測試,最大延遲和最大抖動都有所上升。
毅航互聯SoftSBC-1000很好地適配了“華為鯤鵬920”CPU和“銀河麒麟高級服務器操作系統V10”ARM版本,達到X86版本的同等功能和類似的性能。