1. 程式人生 > >Nginx並發連接配置

Nginx並發連接配置

定性 分配 單個 最好 使用 ini 內存 process 文件描述符

1、並發連接配置

1.1 worker_processes

nginx運行工作進程個數,一般設置cpu的核心或者核心數x2。

nginx.conf配置文件中,設置:worker_processes 4。

worker_processes最多開啟8個,8個以上性能提升不會再提升了,而且穩定性變得更低,所以8個進程夠用了。

1.2 worker_cpu_affinity

nginx默認是沒有開啟利用多核cpu的配置的。需要通過增加worker_cpu_affinity配置參數來充分利用多核cpu,cpu是任務處理,當計算最費時的資源的時候,cpu核使用上的越多,性能就越好。

使用方法和範例:

2核cpu,開啟2個進程

worker_processes 2;

worker_cpu_affinity 01 10;

4cpu,開啟4個進程 worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000;

1.3 worker_rlimit_nofile

這個指令是指當一個nginx 進程打開的最多文件描述符數目,理論值應該是最多打開文件數(ulimit -n)與nginx 進程數相除,但是nginx 分配請求並不是那麽均勻,所以最好與ulimit -n (ulimit -n 65535可設置最大打開文件數為65535)的值保持一致。

現在在Linux 2.6內核下開啟文件打開數為65535,worker_rlimit_nofile就相應應該填寫65535。實際我們填入一個65535,足夠了,一個網站的並發達到這麽大的數量,也算一個大站了!

1.4 work_connections

work_connections是單個worker進程允許客戶端最大連接數,這個數值一般根據服務器性能和內存來制定.

nginx作為http服務器的時候:max_clients = worker_processes * worker_connections

Nginx並發連接配置