nginx基础知识(2)
2019-01-21 本文已影响5人
瓦力博客
获取全套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,获得更好的性能。