0%

c10k问题

文章字数:213,阅读全文大约需要1分钟

c10k本质

c10k就是大并发下所产生的问题。传统的同步阻塞io导致大并发量下效率低下,甚至是系统崩溃。

解决

主要解决方式是io多路复用

  1. select方式:使用fd_set结构体告诉内核同时监控那些文件句柄,逐个排查文件句柄是否就绪或超时。缺点(句柄数量有限,逐个检查效率低,每次都要初始化fd_set)
  2. poll该方式采用链表存储句柄,解决句柄上线问题。采用关注事件和发生的事件解决重复初始化问题。但是逐个检查的问题没解决
  3. epoll该方式基于内核(linux)发出就绪之后的通知,效率很高但是一来操作系统。