IO复用

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

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

IO复用

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

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

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

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

同步通信
异步通信

多路IO,IO复用
IO复用
IO Models :
IO复用
阻塞IO
非阻塞IO
IO复用
信号驱动IO
异步IO

同步IO和异步IO
IO复用
异步阻塞IO 又称为IO复用
阻塞IO具体模型详解:
IO复用
非阻塞IO具体模型详解:
IO复用

IO复用具体模型详解:
IO复用

事件驱动IO:水平触发,边缘触发
数据准备完成后向进程通知
5种模型对比 :
IO复用
epoll
/dev/poll
kqueue

mmap:内存映射
异步IO 实现起来比较复杂

IO:网络IO和磁盘IO
httpd :
MPM
prefork :一个进程响应一个请求 ,1024
worker :一个线程响应一个请求,多线程,一个进程生成多个线程
event :基于事件驱动

Nginx 做反向代理
程序有局部性,数据有局部性
CDN 内容分发网络 依赖于智能DNS 内容路由 缓存路由
hadoop 大数据分析 异步结构
NoSQL 大量写操作时使用
模块化 架构师 拓展起来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值