作者StubbornLin (Victor)
看板Programming
标题[问题] Server的架构
时间Tue Sep 4 16:49:40 2007
我最近正在考虑写一个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
1F:推 Tiberius:man select 59.126.63.79 09/04 21:13
2F:→ Tiberius:然後你是不是又要贴了文就不理啦 :p 59.126.63.79 09/04 21:13