第四章 實作分析
4.7 測試多伺服器
測試方法如同單一伺服器架構,逐漸增加人數,直到前 10%高的 回應時間平均超過三秒。我們以固定伺服器個數來進行實驗,測試四 台的情形,是否使用聊天專用伺服器來提供聊天服務的情形,會影響 實際服務的伺服器個數,以下是我們實驗的結果。
1 Login Server + 3 IM Servers
表 4-2 支援的最大人數
首先我們先比較以上四種情形,對於前 10%高的回應時間平均與
0 50000 100000 150000 200000 250000 300000 350000
Users
Server CPU loading
CM-TCP-NL
0 50000 100000 150000 200000 250000 300000 350000
Users
Response time(ms)
CM-TCP-NL CM-TCP-XL CM-UDP-XL DM-UDP-XL
我們可以看出以 TCP 溝通的架設額外內部網路的集中型架構能支
CM-TCP-NL 情形中前 10%的平均回應時間為 765.47ms,伺服器 CPU 使用率前 10%高的平均為 43.62%,CM-TCP-XL 情形中前 10%高的平均 回應時間為 710.03ms,伺服器 CPU 使用率前 10%高的平均為 42.07%,
這部分的結果很相近。
CM-TCP-NL 的收到封包數有 1851320 個,送出封包數有 1917451 個,而 CM-TCP-XL 接上了兩個區域網路,對外區域網路收到的封包數 有 1745230 個,送出封包數有 1795617 個,而對內區域網路收到的封 包數有 40175 個,送出的封包數有 39753 個,內外封包數量加起來比 CM-TCP-NL 少了不少封包,證明額外的內部區域網路有發揮作用。
接著來看集中型與分散型的比較。CM-UDP-XL 情形中前 10%高的 平均回應時間為 1210.87ms,伺服器 CPU 使用率前 10%高為 45.57%,
DM-UDP-XL 情形中前 10%高的平均回應時間為 1264.49ms,伺服器 CPU 使用率前 10%高為 44.59%,這部分的結果也很相近。
CM-UDP-XL 對內區域網路收到的封包有 52346 個,送出的封包數 有 70292 個,而 DM-UDP-XL 對內區域網路收到的封包有 60357 個,送 出的封包有 65035 個,由於分散型架構使用廣播的功能,所以伺服器 接收的封包個數會較多,而送出的封包數會較少,由這個結果來看,
可以得知分散型的架構效能較好。
接著來看 TCP 與 UDP 的比較。CM-TCP-XL 情形中前 10%高的平均 回應時間為 710.01ms,伺服器 CPU 使用率前 10%高為 42.07%,
CM-UDP-XL 情形中前 10%高的平均回應時間為 1210.87ms,伺服器 CPU 使用率前 10%高的平均為 45.57%,CPU 使用率的結果很相近,但是訊 息回應時間卻大很多,這是因為 UDP 實作重傳及等待 ACK 的動作造成 的,許多訊息會造成延遲送出,所以 UDP 在這裡並未達到原本預料的 結果。
由前面的實驗結果可以知道集中型維護,使用 TCP 及額外內部區 域網路的架構較佳,我們將以此環境再對即時訊息服務的運作方式,
不使用 Talk Server(NT)、使用 Talk Server(T)、我們改良的方式 (MT) ,加以實驗比較。
圖 4-7 是三種方式在三台伺服器的環境下所得到的結果。Talk Server 的方法使用兩台 Talk Server。
圖 4-7 三台伺服器時,即時訊息服務的運作方式的比較
由圖 4-7 可知,我們所改良的方法結果是最好的。為了實驗架構 的 Scalibilty,我們將逐漸增加伺服器數目來進行實驗。以下是對 四台、五台、六台伺服器進行實驗的結果。而使用 Talk Server 的方
0 100000 200000 300000 400000
Users
Response time(ms)
NT T MT
圖 4-8 四台伺服器時,即時訊息服務的運作方式的比較
0 100000 200000 300000 400000 500000
Users
Response time(ms)
NT
0 100000 200000 300000 400000 500000 600000 Users
Response time(ms)
NT T MT
圖 4-10 六台伺服器時,即時訊息服務的運作方式的比較
由 4-7、4-8、4-9、4-10 可以看出,我們所改良的方法由於連線 數會大量增多,所以在前期人數逐漸增加時稍差於 NT 的方法,不過
0 100000 200000 300000 400000 500000 600000 700000 800000
Users
Response time(ms)
NT T MT
圖 4-11 三台伺服器時,一秒內最大流量與使用者數的分佈圖
0 100000 200000 300000 400000 500000 600000 Users
Max bytes(MB)
NT
0 100000 200000 300000 400000 500000 600000 Users
Max bytes(MB)
NT T MT
圖 4-13 五台伺服器時,一秒內最大流量與使用者數的分佈圖
0 100000 200000 300000 400000 500000 600000 700000 Users
Max bytes(MB)
NT
0 100000 200000 300000 400000 500000 600000 700000 800000 Users
Max bytes(MB)
NT T MT
我們可以看到在六台伺服器的情形中,網路的負載量已經快達到 100Mbit,大致來說,三種情形的對外流量都很接近,且尚未超過極 限,如此我們所得到的結果才有意義,而其中我們所改良的方法具有 最好的效果。