techdoc centre
本站搜索 用户名: 密码:
   HOME  TECHDOC  WEB  SDK  NSDT  TOPIC  BIZDOC   LOGIN
  发布地区 Global 发布类别 TECHDOC Programming Server
字体:
  网络服务器软件设计的原则
于 2017-12-09 编辑: Eric 查看: 568 次   Article Url Print this page

单进程模型,进程数《=CPU 数目:

大容量服务器一般都采用单进程,多连接模式,将对CPU的额外消耗降到最低;关键进程数(+线程数)<=CPU数,才能最大地发挥系统的CPU性能。高于这个数目则需要等待和切换,增加额外计算量;

异步IO:

Linux内核新技术Epoll
最大能处理的TCP连接数:60K
优化TCP的处理速度

避免频繁分配和释放内存

内存预分配:

预先分配共享内存。我们一般的做法是分配一块共享内存,然后将内存分成输入和输出两部分,将每次接收的数据包顺序地存储在共享内存上;同时共享内存也可以保证数据的安全:一旦进程崩溃并重新启动,内存区和数据还会存在;

对象复用:

将需要释放的对象暂存起来,而不是立刻释放,下次需要分配时,预先查询是否有空闲的对象,这样可以重新利用。
需要定期清理不用的对象

尽量减少内存拷贝次数

同步:尽量不使用系统同步机制,使用用户态同步,或允许只对重要的数据进行同步

http://bbs.lmtw.com/


相关文章:

o 网络服务器设计的模型及一些设计方法


   Search:

   

   Categories:

 Open All Close


Copyright techdoc.netsoftlab.ca powered by netsoft lab. 2007-2012  
Friend Websites:   netsoftlab.ca   cnstar.ca   CS lessions