高效能Web伺服器Nginx的配置與部署研究(8)核心模組之事件模組

鍾超發表於2012-01-04

本文來自: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技術部落格,轉載請註明出處。

-

相關文章