千家信息网

Nginx服务优化(六)更改进程数

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,更改Nginx运行进程数在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞。运行进程数多一些,响应访问请求时,Nginx就不会临时启动新的进程提供服务,减少了系统
千家信息网最后更新 2024年10月27日Nginx服务优化(六)更改进程数

更改Nginx运行进程数

在高并发场景,需要启动更多的Nginx进程以保证快速响应,以处理用户的请求,避免造成阻塞。运行进程数多一些,响应访问请求时,Nginx就不会临时启动新的进程提供服务,减少了系统的开销,提升了服务速度,使用ps aux可以查看运行进程数的变化情况。

更改进程数的配置方法

修改配置文件的worker_processes参数

  • 一般设为CPU的个数或者核数
  • 在高并发情况下可设置为CPU个数或者核数的2倍

默认情况,Nginx的多个进程可能跑在一个CPU上, 可以分配不同的进程给不同的CPU处理,充分利用硬件多
核多CPU在一台4核物理服务器可进行以下配置,将进程进行分配

Worker_cpu_affinity 0001 0010 0100 1000

1.将虚拟机配置由1核改为2核(关闭虚拟机)

2.查看配置文件当前的进程数

[root@localhost nginx]# vim conf/nginx.confworker_processes  1;   //进程数1events {    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  //工作进程为1root      62145  0.0  0.0 112728   968 pts/0    R+   19:16   0:00 grep --color=auto nginx   //ps命令的进程[root@localhost nginx]# 

3.查看cpu信息

[root@localhost ~]# cat /proc/cpuinfo processor   : 0vendor_id   : GenuineIntelcpu family  : 6model       : 158model name  : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHzstepping    : 10microcode   : 0xaacpu MHz     : 2591.568........//省略部分内容processor   : 1vendor_id   : GenuineIntelcpu family  : 6model       : 158model name  : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHzstepping    : 10microcode   : 0xaacpu MHz     : 2591.568........//省略部分内容

4.修改配置文件的进程数

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.confworker_processes  2;   //进程数该为2worker_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/nginxnginx      2594  0.0  0.0  23076  1392 ?        S    13:57   0:00 nginx: worker process   //进程1nginx      2595  0.0  0.0  23076  1376 ?        S    13:57   0:00 nginx: worker process   //进程2root       2603  0.0  0.0 112728   968 pts/0    S+   13:57   0:00 grep --color=auto nginx[root@localhost ~]# 
0