nginx基础知识(2)

获取全套nginx教程,请访问瓦力博客

多线程多进程处理模式:一个线程只处理一个流的i/o事件。如果想要同时处理多个流,
要么多进程,要么多线程,很不幸这两种方法效率不算高。

1.常见的http服务

市场上常见的http服务 apache、IIS、GWS 

2.IO非阻塞模式

while true{
    for i in stream[];{
        if i has data
        read until unavailable
    }
}

缺点:如果所有的流都没有数据,那么只会白白浪费cup

3.IO复用内核模式种类

* select、poll模型
* Epoll模型

1.select 模型

while true{
select(streams[])
    for i in streams[]{
        if i has data
        read until unavailable
    }
}

2.Epoll模型优势

优势一、解决SELECT模型对于文件具柄FD打开限制

优势二、采用callback函数回调机制优化模型效率

4.cpu亲和

是一种把CPU核心和Nginx工作进程绑定方式。把每个worker进程固定在一个CPU上执行,
减少切换cpu的cache miss,获得更好的性能。

你可能感兴趣的:(nginx基础知识(2))