close

玩了一個禮拜Golang在這邊先做一個整理,並把目前為止的程式碼都上傳到Github上了,有興趣的人可以在這個地方下載

 

=> Github GoSocket  <=

 

除了前幾篇提到的東西之外,也把一些Config、DB以及測試用的Client都加了進去。

 

 

這裡試著用大量的TestClient去跑過這個Socket Server的Benchmark,直接先上數據

Golang Socket Server Benchmark
 連線數  回應時間(ms)  Server CPU Usage(%)
 1000  <1ms  2%
 2000  <1ms  5%
 3000  <5ms  10%
 4000  <30ms  31% 
 5000  <50ms  43% 

*Connection每次的Send隨機注入約1~100個遊戲協議

*沒有DB access的行為

 

在3000個connections之前大致上回應時間都還在5ms以下(一般PC主機、本機連線)。

但當增加到4000個connections後上升到了30ms左右,與之前用C++11 (Boost::Asio引擎)寫的Socket Server比起來(一模一樣的封包解析邏輯),效能確實還是略為遜色一點(好像是廢話)。

 

下一篇:

[Golang] 學習筆記(6) Linux(centos)上的安裝配置與import問題

 

arrow
arrow
    文章標籤
    golang gameserver benchmark
    全站熱搜

    不來嗯 發表在 痞客邦 留言(0) 人氣()