核心模块之事件模块

来源:互联网 发布:python判断水仙花数 编辑:程序博客网 时间:2024/05/18 04:49
本文来自:CSDN博客专栏《Nginx高性能Web服务器》 及Poechant技术博客,转载请注明出处。



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



用来设置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;



本文来自:CSDN博客专栏《Nginx高性能Web服务器》 及Poechant技术博客,转载请注明出处。
原创粉丝点击