國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
94
第六章、 系統效能分析
為了驗證本系統之可行性,我們透過行動裝置在無線網路環境設計一連串之 實驗,使用 Wireshark(網路封包解析軟體)監聽網路連線建立訊息傳送過程,
擷取、解析網路封包(包括:控制訊息、語音封包),測量封包遞送時間及整體 通訊流量,並定時記錄於 Log File,經過統計分析之過程,針對註冊處理、通話 管理及語音傳送品質等三部份,透過實驗數據以觀察系統實際運作上所達之效 能。
6.1、 實驗設備
使用一部 Notebook 開啟多個監聽埠,模擬多名受話群組成員等待被呼叫,
在線上接收來電訊息及回覆來電應答訊息。
使用一部 Notebook 模擬多名撥叫者,啟動多條執行緒同時執行發送通話請 求或終止訊息之程序。
使用一部 Notebook 裝載群組通訊系統 Server 端程式,處理群組之間的通訊,
並在同一部 Notebook 上架設 ACS DB 儲存群組資料及群組成員位置。
使用者所發送 Request Message,傳送封包內容除夾帶 Message Code 外,另 附帶封包編號、發送請求時間。
另外使用兩支 Android 2.2 手機裝載群組通訊系統使用端應用程式進行通 話,以測量使用端應用程式語音處理效能。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
95
表 6-1、實驗設備
Item Equipments
User Equipments
Cell Phone(Android 2.2)
Notebook(ACS Clent)
Communication Devices Notebook(ACS Server)
Virtual Base Station Wireless AP
6.2、 效能量測及分析
效能量測工具如下:
Wireshark
擷取解析 UDP 封包(包括:控制訊息、語音封包)
監聽網路連線建立訊息傳送過程
監聽網路封包流量
System Log File
圖 6-1、實驗環境
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
96
各項實驗過程中,在系統設置各處理程序時間記錄點,並將記錄存 於 log 檔中
實驗分類與項目如下:
實驗 1、系統註冊效能量測
實驗 2、通話管理效能量測
實驗 2-1、通話建立效能
實驗 2-2、通話終止效能
實驗 3、語音傳輸品質量測
6.2.1、 系統註冊效能
實驗 1、系統註冊耗費時間
實驗設計
建立發送註冊請求之程序,啟動多條執行緒,模擬多名使用者同時向系統註 圖 6-2、Wireshark 封包擷取畫面
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
97
冊,依不同使用者數目(10~100)各實驗 100 次,記錄封包到達及處理註冊程序 花費時間,以測量每位使用者註冊平均耗費時間。
參數設定
表 6-2、實驗 1 參數設定
Experimental Parameters Values
Number of Users 10~100 Registration Message Size 62 bytes
Number of Experiments 100 times
結果與分析
由使用者發送註冊 Request Message 至收到系統回應 Response Message 所花 費之時間,即為使用者註冊時間(Registration Time)。其中包含使用者與系統之 間傳送控制訊息時間(Control Message Transfer Time)及系統註冊處理時間
(Registration Process Time)。註冊時間計算公式如公式(1):
T Registration = T ControlMessageTransfer(UE→Server) + T RegistrationProcess
+ T ControlMessageTransfer(Server→UE ) (1)
控制訊息之封包夾帶封包序號及傳送時間,由接收端接收到後進行解析,並依封 包接收及傳送時間差,以計算封包傳遞之耗費時間。系統註冊處理時間從接收到 封包後開始計算,進行包括使用者身份比對及記錄目前位置等程序。測量結果如 圖 6-3 所示,10 位使用者同時向系統發送註冊請求,平均整體註冊時間為 266.591 ms,圖 6-4 所示,100 位使用者,平均整體註冊時間為 2198 ms,表示系統即使 面對大量的註冊請求情況之下,仍可在短的時間內回應使用者之請求。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
98
圖 6-4、100 位使用者註冊耗費時間 6.2.2、 通話管理效能
實驗 2-1、通話建立效能分析
系統在收到通話請求訊息後,建立多個通話 session,分別進行以下兩個階 段性工作,包括:群組呼叫及連線建立。
圖 6-3、10 位使用者註冊耗費時間
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
99
實驗 2-1(a) 群組呼叫效能分析
實驗設計
在此階段中,系統會針對撥叫號碼進行解析並作群組資料之比對,以所設定 之呼叫門檻(K)搜尋出離發話者最近的受話群組成員並建立呼叫連線,向受話 者傳送群組呼叫訊息之後,啟動呼叫連線計時器,直到系統接到應答訊息或連線 逾時後,才切斷所有呼叫連線。以上各階段過程時間記錄於 log 檔中,計算當系 統同時收到多通請求後經過群組資料比對和完成呼叫之間平均所花費的時間,以 觀察系統群組呼叫效能。
參數設定
表 6-3、實驗 2-1(a)參數設定
Experimental Parameters Values
Number of Calls Originated 10~100 Control Message Size 62 bytes Number of Paging(K members) 5,10,15,20
Session Holding Time Duration 60 sec
結果與分析
系統同時處理 10~100 通話請求,實驗結果如表 6-4 所示。群組呼叫處 理包括:號碼解析、群組資料比對並呼叫受話成員。圖 6-5 所示,系統處理 群組呼叫花費的時間隨著通話請求數目遞增,例如:當呼叫門檻設定為 5 個成員(K=5),系統同時處理 10 通請求,平均每通花費時間為 774 ms,50 通時為 2417 ms,100 通時為 4939 ms。細分系統在此階段工作程序可發現,
建立呼叫連線較為耗時,大約佔整體處理時間的一半,當通話請求數目達到 100 時,須花費 2448 ms。
‧
Calls OriginatedAnalysis Time(ms)
Mapping
Time(ms) K Connection Time(ms)
Total Paging Time(ms)
‧
Calls OriginatedAnalysis Time(ms)
Mapping
Time(ms) K Connection Time(ms)
Total Paging Time(ms)
‧
Experimental Parameters ValuesNumber of Calls Originated 10~100 Control Message Size 62 bytes
Number of Channels 100
結果與分析 Number of Calls
Originated Paging Time(ms) Connection Time(ms) Call Set-up Time(ms)
10 774 695 1455
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
103
圖 6-6、不同數目通話建立時間(10~100 通電話)
實驗 2-2、通話終止效能分析
實驗設計
此實驗由 10~100 通通話 session 中的一名成員向系統發送通話終止的訊息,
當系統接收到訊息後,開始進行通話連線終止程序,包括通話連線中斷、關閉通 話 session、清空通話通道等工作,在此測量系統收到多個通話終止訊息時,單 一通話連線中斷及資源釋放之間所花費的時間。
實驗參數設定
表 6-7、實驗 2-2 參數設定
Experimental Parameters Values
Number of Calls Originated 10~100 Control Message Size 62 bytes Number of Used Channels 10~100
實驗結果與分析
表 6-8 為不同通話 session 數目之下,系統終止每通電話連線的耗費時間,
‧
Calls Originated
Min Call Release Time(ms)
Mean Call Release Time(ms)
Max Call Release Time(ms)
10 240 541 550
‧
Parameters Values
Codec iLBC
Sampling Frequency 8000 Hz Sample Size 16 bits
Input PCM Frame Size 1920 bytes(30ms)
Output Frame Size 200 bytes Compression Ratio 10.42%
實驗 3、通話連線數目影響語音傳送品質之分析
實驗設計
利用兩支 Android 手機及兩部 Notebook 啟動多執行緒模擬線上其他使用 者,透過系統建立數通電話連線,每位使用者在連線建立之後同時連續傳送 1000 個語音封包,測量系統語音處理及轉送封包之品質數據及測試系統負載能力。
參數設定
表 6-10、實驗 3 參數設定
Experimental Parameters Values
Number of Calls Originated 10~100 Number of Users(Cell Phone) 2
Number of Users(Notebook) 8~98 Number of Packets Sent(Per User) 1000
結果與分析
如圖 6-8 所示,一通電話語音傳輸的過程開始於傳送端送出語音封包至系統
(TPropagationDelay(UE→Server))並存放在專屬頻道的封包佇列中,經由系統依據通話
頻道搜尋通話對象之程序(TCallDelivery),從佇列中取出語音封包轉送至目的地
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
106
(T PropagationDelay(Server→UE)),封包傳輸期間須經過兩個以上的路徑,在此實驗中
預設發話與受話者共處於同一部 Server 管轄範圍,因此傳輸時間為
2TPropagationDelay(UE Server)。將全部的參數加總為聲音從說話者傳送到收聽者的總耗
費時間(Mouth-to-Ear Delay Time, MED),計算方式如公式(2)
TMED = TVoiceRecord + TVoiceEncode + TCallDelivery
+ 2TPropagationDelay(UE Server)+ TVoiceDecode + TVoiceTrack (2)
圖 6-8、系統語音傳輸圖
表 6-11 為實驗所測得語音傳送之 MED、Jitter、Packet Loss Rate 等數據,從 圖 6-9 可分析出通話數在 30 通以下,MED 維持在 339~357 ms 之間,在一般使 用者可容許的範圍(300~400 ms)之內,通話數在 30 通以上,語音品質隨著線 上通話數目的增加而開始下降,造成此種現象可能的原因為二,一是因網路頻寬 資源不足,語音傳送採用 UDP 協定,沒有壅塞預防及控制機制,多個使用者一 直不停發送語音封包,導致 MED 及封包遺失率上升。二是因每一通電話的語音 封包皆須透過系統轉送至目的地,Server 負責話務轉送效能到達瓶頸,封包全積 在佇列中無法即時消化,造成 MED 增加。
‧
Number of CallsOriginated
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
108