[問題] Server的架構
我最近正在考慮寫一個Server
目前有考慮三種架構
1.輪詢式的架構
也就是單一迴圈
不停的更新所有連線的狀態並做出回應
2.MultiThread
每個連線都由一個Thread負責
3.混合式
混合輪詢和MultiThread式,每個Thread負責一定數量的連線
目前我只有寫過輪詢式的,其它兩種都沒寫過
考慮到效能,輪詢式的在連線數很多時,很明顯的一個問題就是
當連線數到一定數量時,可能會變得很沒效率
每個連線如果花1ms,1000個連線就是1秒
但是如果以MultiThread來執行,可以充份利用CPU的資源
可是這又帶來另一個問題,由於我對Thread的成本不太了解,用起來還是會怕怕的
* 其中一個問題就是,我不了解開一個Thread到底需要多少成本?
接著,我想到如果1000個連線就要開1000個Thread
而Thread的成本如果讓人難以接受的話,那可能就得考慮第三種
混合式的,每個Thread負責一定數量的連線
但是又帶來另一個問題就是設計上會變得有點複雜
----------------------------------------------------------------
除此之外還有另一個我不了解的地方,就是
* 多核心的CPU到底對效能上的改進有多少幫助?
最近多核心的CPU在市面上似乎成為主流,但是我一直很好奇
* 就運作上,到底能將工作分配給不同核心做到什麼地步?
以上,是我的問題
--
VICTOR工作室 | PTT遊戲設計版隆重開幕!
| 不管是新手老手,程式美工音樂企劃....
URL : http://www.kinmen.info/vic/ | 都歡迎來遊戲設計版參與討論 XD
| 戰略高手>
C/C++ | GameTopics>
Visual Basic 6.0 | GameDesign
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.64.77
推
09/04 21:13, , 1F
09/04 21:13, 1F
→
09/04 21:13, , 2F
09/04 21:13, 2F
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章