nginx中事件模块(Events Module)配置及各个参数含义



nginx中事件模块(Events Module)配置及各个参数含义
 
摘要
控制Nginx处理连接的方式
指令
accept_mutex
语法:accept_mutex [ on | off ] 
默认值:on 
Nginx使用连接互斥锁进行顺序的accept()系统调用
  www.2cto.com  
accept_mutex_delay
语法:accept_mutex_delay Nms; 
默认值:500ms
如果一个进程没有互斥锁,它将至少在这个值的时间后被回收,默认是500ms
debug_connection
语法:debug_connection [ip | CIDR] 
默认值:none 
0.3.54版本后,这个参数支持CIDR地址池格式。
这个参数可以指定只记录由某个客户端IP产生的debug信息。
当然你也可以指定多个参数。
 
[html] 
error_log /var/log/nginx/errors;  
events {  
  debug_connection   192.168.1.1;  
}  
fffdgfdgfd  
  
devpoll_changes  
  
devpoll_events  
  
kqueue_changes  
  
kqueue_events  
epoll_events
语法:devpoll_changes 
默认值:
这些参数指定了按照规定方式传递到或者来自内核的事件数,默认devpoll的值为32,其余为512。
  www.2cto.com  
multi_accept
语法:multi_accept [ on | off ] 
默认值:off 
multi_accept在Nginx接到一个新连接通知后调用accept()来接受尽量多的连接
 
rtsig_signo
语法:rtsig_signo 
默认值:
Nginx在rtsig模式启用后使用两个信号,该指令指定第一个信号编号,第二个信号编号为第一个加1
默认rtsig_signo的值为SIGRTMIN+10 (40)。
rtsig_overflow_events
rtsig_overflow_test
rtsig_overflow_threshold
 
语法:rtsig_overflow_* 
默认值:
这些参数指定如何处理rtsig队列溢出。当溢出发生在nginx清空rtsig队列时,它们将连续调用poll()和 rtsig.poll()来处理未完成的事件,直到rtsig被排空以防止新的溢出,当溢出处理完毕,nginx再次启用rtsig模式。
rtsig_overflow_events specifies指定经过poll()的事件数,默认为16
rtsig_overflow_test指定poll()处理多少事件后nginx将排空rtsig队列,默认值为32
rtsig_overflow_threshold只能运行在Linux 2.4.x内核下,在排空rtsig队列前nginx检查内核以确定队列是怎样被填满的。默认值为1/10,“rtsig_overflow_threshold 3”意为1/3。
 
use
语法:use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ] 
默认值:
如果你在./configure的时候指定了不止一个事件模型,你可以通过这个参数告诉nginx你想使用哪一个事件模型,默认情况下nginx在编译时会检查最适合你系统的事件模型。
你可以在这里看到所有可用的事件模型并且如果在./configure时激活它们。
  www.2cto.com  
worker_connections
语法:worker_connections 
默认值:
worker_connections和worker_proceses(见主模块)允许你计算理论最大连接数:
最大连接数 = worker_processes * worker_connections
在反向代理环境下:
最大连接数 = worker_processes * worker_connections/4
由于浏览器默认打开2个连接到服务器,nginx使用来自相同地址池的fds(文件描述符)与前后端相连接

相关内容

    暂无相关文章