nginx优化--nginx进程绑定cpu(nginx绑核)

本文介绍了CPU亲和性概念,并详细说明为何要将nginx进程绑定到特定CPU,以解决进程资源使用不均和CPU缓存命中率降低的问题。通过查看nginx进程的CPU分配、确定CPU数量,然后修改nginx.conf文件进行绑核配置,最后通过压力测试验证绑核对性能的提升。解绑CPU后,nginx响应速度下降,证实了绑定CPU的有效性。
摘要由CSDN通过智能技术生成
什么是cpu的亲和性:

CPU亲和性:就是进程要在指定的CPU上尽可能长时间地运行而不被迁移到其他处理,也称为cpu关联性,绑核。

为什么要给nginx绑定cpu:

​ 默认情况下,Nginx的多个进程有可能跑在某一个CPU或者CPU的某一核心上,导致Nginx进程使用硬件资源不均,此外,在多任务,高并发场景下,进程可能会被系统在CPU的不同核心上调度,使得CPU缓存命中率降低。因此,绑定Nginx进程到不同的CPU上可充分利用硬件的多CPU多核资源,同时在提高系统性能。

准备工作:
  1. 准备一台nginx机器,参数如下:
[root@nginx-up ~]# nginx -v
nginx version: nginx/1.9.0

[root@nginx-up ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)
  1. 首先查看nginx进程分配的cpu情况:
[root@nginx-up ~]# ps -eo pid,args,psr|grep nginx
 12516 nginx: master process /opt/   0
 12517 nginx: worker process         0
 12518 nginx: worker process         0
 12566 grep --color=auto nginx       1
  • 参数解释一下:
pid 进程id
args 该进程执行时传入的命令行参数
psr 分配给进程的逻辑cpu
  1. 查看一下当前机器逻辑cpu个数:
[root@nginx-up ~]# cat /proc/cpuinfo |grep 'processor' |wc -l
2    
  • 因为cpu核数不同,绑定亲和力时方法以不同,具体如下
worker_processes 2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值