優化 Nginx 單個進程允許的最大連接數
控制 Nginx 單個進程允許的最大連接數的參數為 worker_connections ,這個參數要根據服務器性能和內存使用量來調整。
進程的最大連接數受 linux 系統進程打開的最大文件數的限制,只有執行了 "ulimit -HSn 65535" 之后,worker_connections 才能生效。
連接數包括代理服務器的連接、客戶端的連接等,Nginx 總并發連接數 = worker_processes * worker_connections。總數保持在 3w 左右即可。
worker_processes 2;
worker_cpu_affinity 01 10;
user nginx nginx;
events {
use epoll;
worker_connections 15000;
}
綁定 Nginx 進程到不同的 CPU 上
默認情況下,Nginx 的多個進程有可能跑在某一個 CPU 或 CPU 的某一核上,導致 Nginx 進程使用硬件的資源不均,因此綁定 Nginx 進程到不同的 CPU 上是為了充分利用硬件的多 CPU 多核資源。
[root@localhost ~]# grep -c processor /proc/cpuinfo # 查看CPU核數
worker_processes 2; # 2核CPU的配置
worker_cpu_affinity 01 10;
worker_processes 4; # 4核CPU的配置
worker_cpu_affinity 0001 0010 0100 1000;
worker_processes 8; # 8核CPU的配置
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
優化 Nginx 單個進程允許的最大連接數
控制 Nginx 單個進程允許的最大連接數的參數為 worker_connections ,這個參數要根據服務器性能和內存使用量來調整。
進程的最大連接數受 Linux 系統進程打開的最大文件數的限制,只有執行了 "ulimit -HSn 65535" 之后,worker_connections 才能生效。
連接數包括代理服務器的連接、客戶端的連接等,Nginx 總并發連接數 = worker_processes * worker_connections。總數保持在 3w 左右即可。
worker_processes 2;
worker_cpu_affinity 01 10;
user nginx nginx;
events {
use epoll;
worker_connections 15000;
}