优化 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;
}