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服务优化更改进程数的主要内容,如果未能解决你的问题,请参考以下文章