高性能Web服务器Nginx的配置与部署研究(8)核心模块之事件模块

一、事件模块的作用是什么?


用来设置Nginx处理链接请求。


二、相关指令


1. accept_mutex

含义:设置是否使用连接互斥锁进行顺序的accept()系统调用。

语法:accept_mutex <on|off>;

缺省:on

示例:accept_mutex off;


2. accept_mutex_delay

含义:设置获得互斥锁的最少延迟时间。

语法:accpet_mutex_delay <number of millisecs>

缺省:500ms

示例:accpet_mutex_delay 1000ms;


3. debug_connection

含义:设置指定的clients产生debug日志。

语法:debug_connection [ip|CIDR];

缺省:none

示例:debug_connection 172.16.44.96;

一段较完整的事件模块代码如下:

error_log /data/nginx/log/error.log;

events {

debug_connection172.16.44.96;

}


4. multi_accept

含义:设置是否允许,Nginx在已经得到一个新连接的通知时,接收尽可能更多的连接。

语法:multi_accept <on|off>;

缺省:off

示例:multi_accept on;


5. rtsig_signo


6. rtsig_overflow_threshold


7. use

语法:use [kqueue | rtsig | epoll | /dev/poll | select | poll | eventport];

注意:如果在./configure的时候指定了不止一种事件模型,那么可以设置其中一个,告诉Nginx使用哪种事件模型。默认情况下,Nginx会在./configure时找出最适合系统的事件模型。


8. worker_connections

语法:worker_connection <number>;

注意:

最大连接数的计算公式如下:

max_clients = worker_processes * worker_connections;

如果作为反向代理,因为浏览器默认会开启2个连接到server,而且Nginx还会使用fds(file descriptor)从同一个连接池建立连接到upstream后端。则最大连接数的计算公式如下:

max_clients = worker_processes * worker_connections / 4;


posted @ 2014-10-22 17:13  暗痛  阅读(315)  评论(0编辑  收藏  举报