Nginx服务优化更改进程数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.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]# 

3.查看cpu信息

[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
........//省略部分内容

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

[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 ~]# 

以上是关于Nginx服务优化更改进程数的主要内容,如果未能解决你的问题,请参考以下文章

Nginx优化深入-----更改进程数+网页压缩+FPM优化

Nginx web服务优化

企业级Nginx服务基础到架构优化详解

Nginx安全优化与性能调优

Nginx网页优化

nginx优化