根据参数优化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的个数或核数是一个好的起始配置
点击查看官方的更详细的资料
上一篇: PHP中设置时区方法小结
下一篇: shell杂谈(一)