Nginx 事件模塊

2018-10-27 19:43 更新

摘要

設(shè)置Nginx處理連接請求

指令

accept_mutex

Syntax: accept_mutex [ on | off ]

Default: on

nginx 使用連接互斥鎖進(jìn)行順序的accept()系統(tǒng)調(diào)用.

accept_mutex_delay

Syntax: accept_mutex_delay Nms;

Default: 500ms

如果一個進(jìn)程沒有互斥鎖,它將延遲至少多長時間。默認(rèn)情況下,延遲是500ms 。


debug_connection

Syntax: debug_connection [ip | CIDR]

Default: none

Since 0.3.54 this option support CIDR address format

This option gives you the ability to write debug log only for the clients of this IP/NET.

Several different directives are possible.

Example:

error_log /var/log/nginx/errors;events {debug_connection   192.168.1.1;}

devpoll_changes

devpoll_events

kqueue_changes

kqueue_events

epoll_events

Syntax: devpoll_changes

Default:

These directives specify how many events may be passed to/from kernel, using appropriate method.

The default devpoll values are 32, the rest are 512.

multi_accept

Syntax: multi_accept [ on | off ]

Default: off

multi_accept tries to accept() as many connections as possible after nginx gets notification about a new connection.



rtsig_signo

Syntax: rtsig_signo

Default:

nginx uses two signals when the rtsig method is used. The directive specified the first signal number. The second is plus 1.

By default rtsig_signo is SIGRTMIN+10 (40).


rtsig_overflow_events

rtsig_overflow_test

rtsig_overflow_threshold

Syntax: rtsig_overflow_*

Default:

These directives specifies how to handle rtsig queue overflows. When overflow occurred nginx flushes rtsig queue, then it handles events switching between poll() and rtsig. poll() handles consecutively all unhandled events, while rtsig periodicaly drains queue to prevent a new overflow. When overflow is handled completely, nginx switches to rtsig method again.

The rtsig_overflow_events specifies the number of events to be passed via poll(). The default is 16.

The rtsig_overflow_test specifies after which number of events handled by poll() nginx will drains rtsig queue. The default is 32.

The rtsig_overflow_threshold works in Linux 2.4.x only. Before to drain rtsig queue nginx looks in a kernel how the queue is filled up

The default is 1/10. "rtsig_overflow_threshold 3" means 1/3.

use

Syntax: use [ kqueue | rtsig | epoll | /dev/poll | select | poll | eventport ]

Default:


如果在./configure的時候指定了不止一種事件模型,那么可以設(shè)置其中一個,以便告訴nginx使用哪種事件模型。默認(rèn)情況下nginx會在./configure時找出最適合系統(tǒng)的事件模型。

你可以在 這里 查看可用的事件模型以及如何在./configure時激活

worker_connections

Syntax: worker_connections number

Default:

通過worker_connections和worker_proceses可以計算出maxclients:

max_clients = worker_processes * worker_connections

作為反向代理,max_clients為:

max_clients = worker_processes * worker_connections/4

Since a browser opens 2 connections by default to a server and nginx uses the fds (file descriptors) from the same pool to connect to the upstream backend



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號