Nginx 连接处理方法

本文将介绍Nginx的连接处理方法,常见的有select、poll和kqueue等

Nginx支持各种连接处理方法。特定处理方法的可用性取决于所使用的平台(你使用的操作系统)。在支持多种处理方法的平台上,Nginx 通常会自动选择最有效的处理方法。但是,如果需要,可以使用 USE 指令显式地选择连接处理方法。

Nginx支持下列连接处理方法:

  • select — 标准方法。支持模块是在缺乏更有效方法的平台上自动构建的。--with-select_module 和 --without-select_module 配置参数可用于强制启用或禁用此模块的构建。

  • poll — 标准方法。支持模块是在缺乏更有效方法的平台上自动构建的。--with-poll_module 和 --without-poll_module 配置参数可用于强制启用或禁用此模块的构建。

  • kqueue — 在FreeBSD 4.1+、OpenBSD 2.9+、NetBSD 2.0和MacOS上使用的有效方法

  • epoll — 在Linux2.6+上使用的有效方法。自1.11.3以来,支持EPOLLRDHUP(Linux 2.6.17,glibc 2.8)和EPOLLEXCLUSIVE(Linux4.5,glibc 2.24)标志。一些较旧的发行版(如SUSE 8.2)提供补丁,将EPOLL支持添加到2.4内核中。

  • /dev/poll — 在Solaris 7 11/99+、HP/UX 11.22+(eventport)、IRIX 6.5.15+和Tru64 UNIX 5.1A+上使用的有效方法。

  • eventport — 事件端口,Solaris 10+上使用的方法(由于已知的问题,建议使用/dev/poll方法)。

总结:

如果 nginx 所在的操作系统支持非标准化的处理方法(因为更有效的处理),则使用非标准化处理方法。如果不支持,则使用标准处理方法 select 或 poll。

游手好闲地学习,并不比学习游手好闲好。 —— 约翰·贝勒斯
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号