在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞。运行进程数多一些,响应访问请求时,Nginx就不会临时启动新的进程提供服务,减少了系统的开销,提升了服务速度,使用ps aux可以查看运行进程数的变化情况。
默认情况,Nginx的多个进程可能跑在一个CPU上, 可以分配不同的进程给不同的CPU处理,充分利用硬件多
核多CPU在一台4核物理服务器可进行以下配置,将进程进行分配
Worker_cpu_affinity 0001 0010 0100 1000
[root@localhost nginx]# vim conf/nginx.conf
worker_processes 1; //进程数1
events {
worker_connections 1024; //一个进程处理的请求数
}
[root@localhost nginx]# ps aux | grep "nginx" //查看进程数
root 61991 0.0 0.0 20548 616 ? Ss 19:08 0:00 nginx: master process /usr/local/nginx/sbin/nginx
//主进程
nginx 61995 0.0 0.0 23076 1644 ? S 19:08 0:00 nginx: worker process //工作进程为1
root 62145 0.0 0.0 112728 968 pts/0 R+ 19:16 0:00 grep --color=auto nginx //ps命令的进程
[root@localhost nginx]#
[root@localhost ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
stepping : 10
microcode : 0xaa
cpu MHz : 2591.568
........//省略部分内容
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
stepping : 10
microcode : 0xaa
cpu MHz : 2591.568
........//省略部分内容
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
worker_processes 2; //进程数该为2
worker_cpu_affinity 01 10; //进程平均分配到两个CPU上,01、10为二进制编号
events {
worker_connections 1024;
}
[root@localhost ~]# service nginx start //开启服务
[root@localhost ~]# ps aux | grep "nginx"
root 2593 0.0 0.0 20548 612 ? Ss 13:57 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 2594 0.0 0.0 23076 1392 ? S 13:57 0:00 nginx: worker process //进程1
nginx 2595 0.0 0.0 23076 1376 ? S 13:57 0:00 nginx: worker process //进程2
root 2603 0.0 0.0 112728 968 pts/0 S+ 13:57 0:00 grep --color=auto nginx
[root@localhost ~]#
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。