nginx事件模块指令
Libérer: 2016-08-10 08:48:38
original
1044 Les gens l'ont consulté
accept_mutexSyntax: accept_mutex [ on | off ]Default: onnginx 使用连接互斥锁进行顺序的accept()系统调用.
accept_mutex_delaySyntax: accept_mutex_delay Nms;Default: 500ms如果一个进程没有互斥锁,它将延迟至少多长时间。默认情况下,延迟是500ms 。
debug_connectionSyntax: debug_connection [ip | CIDR]Default: none该指令可以指定用于打印调试日志的ip例如<span>error_log</span> /var/log/nginx/errors;
<span>events</span><span>{</span><span>debug_connection</span><span>192.168</span><span>.1</span><span>.1</span>;
<span>}</span>
Copier après la connexion
devpoll_changesdevpoll_eventskqueue_eventsepoll_eventsSyntax: devpoll_changes这些参数指定了按照规定方式传递到或者来自内核的事件数,默认devpoll的值为32,其余为512。
multi_acceptSyntax: multi_accept [ on | off ]Default: offmulti_accept
指定在nginx获取新的连接之后,是否尽可能多的调用accept()获取连接
rtsig_signoSyntax: rtsig_signoNginx在rtsig模式启用后使用两个信号,该指令指定第一个信号编号,第二个信号编号为第一个加1
默认rtsig_signo的值为SIGRTMIN+10 (40)。
rtsig_overflow_eventsrtsig_overflow_testrtsig_overflow_thresholdSyntax: rtsig_overflow_*这三个指令都与处理 rtsig队列溢出有关,当 rtsig队列溢出时,nginx清空队列,并在poll()和rtsig之间进行切换,poll()将未被处理的事件连续处理完,同时,为了防止产生新的溢出,rtsig会周期性的减少队列元素,当溢出被处理完成,会再次切换回rtsigrtsig_overflow_events 指定了poll监听数量,默认是16
rtsig_overflow_test 指定了poll处理多少数量的事件后, rtsig去减少队列元素,默认为32
rtsig_overflow_threshold 此选项只在linux 2.4有效,该选项指定队列被填满几分之几时再减少队列元素,默认为1/10。
useSyntax: use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]Default:
如果在./configure
的时候指定了不止一种事件模型,那么可以设置其中一个,以便告诉nginx使用哪种事件模型。默认情况下nginx会在./configure
时找出最适合系统的事件模型。
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 X. 使用双处理器的MacOS X系统使用kqueue可能会造成内核崩溃。
epoll - 高效的方法,使用于Linux内核2.6版本及以后的系统。在某些发行版本中,如SuSE 8.2, 有让2.4版本的内核支持epoll的补丁。
rtsig - 可执行的实时信号,使用于Linux内核版本2.2.19以后的系统。默认情况下整个系统中不能出现大于1024个POSIX实时(排队)信号。这种情况对于高负载的服务器来说是低效的;所以有必要通过调节内核参数/proc/sys/kernel/rtsig-max
来增加队列的大小。可是从Linux内核版本2.6.6-mm2开始,
这个参数就不再使用了,并且对于每个进程有一个独立的信号队列,这个队列的大小可以用 RLIMIT_SIGPENDING 参数调节。当这个队列过于拥塞,nginx就放弃它并且开始使用poll
方法来处理连接直到恢复正常。
/dev/poll - 高效的方法,使用于 Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+.
eventport - 高效的方法,使用于 Solaris 10. 为了防止出现内核崩溃的问题, 有必要安装 这个 安全补丁。
worker_connectionsSyntax: worker_connections number每个进程的最大连接数
通过worker_connections和worker_proceses可以计算出最大并发数,即最大并发数=work_connections
x work_process
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了nginx事件模块指令,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31