IO复用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO复用相关的知识,希望对你有一定的参考价值。

IO复用:
MariaDB
PerconaDB
web :nginx , LNMP, Memcached ,tomcat ,varnish
www.nginx.org 官方站点

Nginx pronounced engine-x
HTTP服务器
反向代理 :reverse proxy
反向代理的协议
http
mail
技术图片
netcraft 网站 web市场占有率

技术图片

Nginx优势 :
高性能
稳定性
丰富的特性
简单配置
低资源消耗

多进程模型
进程切换
阻塞状态 不可中断睡眠
DMA 直接内存访问

C10K
单进程 :阻塞
多进程 :每个进程响应一个请求
进程量大。进程切换次数过多
每个进程的地址空间是独立,很多空间是重复的数据,所以内存使用效率较低
线程 :thread, Light Weight Process, LWP
每个线程响应一个请求
线程依然需要切换,切换较之进程轻量级
同一个进程的线程可以共享进程的诸多资源,比如打开的文件
对内存的需求较之进程略有下降
快速切换时会带来线程抖动
忙等 :自旋锁 Spin lock
闲等

多进程多线程模型:
多线程:n个请求
一个线程响应多个请求
select(1024)
AIO :异步IO

同步通信
异步通信

多路IO,IO复用
技术图片

以上是关于IO复用的主要内容,如果未能解决你的问题,请参考以下文章

IO多路复用/基于IO多路复用+socket实现并发请求/协程

复用io selectors模块

IO多路复用, 基于IO多路复用+socket实现并发请求(一个线程100个请求), 协程

非阻塞套接字与IO多路复用

IO复用

io多路复用简介