欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

根据参数优化Nginx服务性能

程序员文章站 2022-04-28 15:42:57
...

参考资料

[1]. 跟老男孩学Linux运维:Web集群实战,老男孩

安装过程

优化Nginx服务的worker进程的个数

优化Nginx进程对应Nginx服务的配置参数如下



worker_processes 1;   ## 指定了Nginx 要开启的进程数,结尾的数字就是进程的个数。



上述参数调整的是Nginx服务的worker进程数,Nginx有Master进程和Nginx进程之分,Master为管理进程,真正负责对外的是worker进程。

优化Nginx进程个数的策略

一般情况下worker进程数最开始的设置可以等于CPU的核数,且worker进程数要多一些,高流量高并发场合也可以考虑将进程数提高至CPU核数*2。

查看Web服务器CPU硬件资源信息

## 通过/proc/cpuinfo 查看CPU总核数
[[email protected] ~]# grep processor /proc/cpuinfo|wc -l
或
[[email protected] ~]# grep -c processor /proc/cpuinfo 

## 查看CPU总颗数
[[email protected] ~]# grep 'physical id' /proc/cpuinfo|sort|uniq|wc -l

## 通过top 命令,然后按数字1,即可显示所有的CPU核数
[[email protected] ~]# cpu
## 显示以下信息
top - 12:09:10 up 12 min,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  75 total,   1 running,  74 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1906276k total,   172244k used,  1734032k free,    10888k buffers
Swap:  1048572k total,        0k used,  1048572k free,    40872k cached
... ...

实践修改Nginx配置

## 查看nginx.conf里的worker_processes数
[root@www ~]# grep worker_processes /application/nginx-1.9.9/conf/nginx.conf
## 修改参数值为CPU的总核数4,然后重新载入Nginx 服务
[root@www ~]# sed -i 's#worker_processes  1#worker_processes  4#g'  /application/nginx-1.9.9/conf/nginx.conf
## 查看修改结果
[root@www ~]# grep worker_processes /application/nginx-1.9.9/conf/nginx.conf
## 重启Nginx
[root@www ~]# /application/nginx/sbin/nginx -t
[root@www ~]# /application/nginx/sbin/nginx -s reload
## 检查修改后的worker进程数量
[root@www ~]# ps -ef|grep nginx|grep -v grep


有关worker_process参数的官方说明如下:

 syntax:        worker_processes  number;   #此行为参数语法,number为数量
default:    worker_processes  1;    #此行意思是不配置该参数,软件默认情况为1
context:    main    #此行为worker_processes参数可以放置的位置
worker_processes为定义worker进程数的数量,建议设置为CPU的核数或者cpu核数*2的进程数,具体情况要根据实际业务来进行选择。除了要和CPU核数的匹配外,和硬盘存储的数据以及系统的负载也会有关,设置为CPU的个数或核数是一个好的起始配置
点击查看官方的更详细的资料