Nginx(二)特性

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。

Nginx的优点

支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发链接,实际生产环境中可以支撑2-4万并发连接数。

内存消耗少:在主流的服务器中Nginx目前是内存消耗最小的了,比如我们用Nginx+PHP,在3万并发链接下,开启10个Nginx进程消耗150M内存。

免费使用可以商业化:Nginx为开源软件,采用的是2-clause BSD-like协议,可以免费使用,并且可以用于商业。

配置文件简单:网络和程序配置通俗易懂,即使非专业运维也能看懂。

一、IO多路复用epoll

IO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用”指的是复用同一个线程。

IO多路复用的实现方式有:select、poll、epoll

select:

缺点:

1)能够监视文件描述符的数量存在最大限制

2)线性描述效率低下

Nginx(二)特性_第1张图片

epoll:

1)每当FD就绪,采用系统的回调函数之间将FD放入,效率更高。

2)最大连接无限制

二、轻量级

三、CPU亲和

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

四、sendfile

Nginx(二)特性_第2张图片
Nginx(二)特性_第3张图片


Nginx(二)特性_第4张图片

你可能感兴趣的:(Nginx(二)特性)