描述nginx中worker_processes、worker_cpu_affinity、worker_rlimit_nofile、worker_connections配置项的含义

描述nginx中worker_processes、worker_cpu_affinity、worker_rlimit_nofile、worker_connections配置项的含义

1.全局配置

1).worker_processes

启动Nginx工作进程的数量,一般设为和CPU核心数相同,
可以设置为worker_processes ##(具体的磁盘CPU核心数)
也可以设置为worker_processes auto(根据cpu核数自动设置)

2).worker_cpu_affinity

将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的,绑定并不是意味着当前nginx进程独占以一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能。关键是避免不同的CPU缓存失效。

CPU MASK: 00000001:0号CPU
00000010:1号CPU
10000000:7号CPU
#示例:
worker_cpu_affinity 0001 0010 0100 1000;第0号---第3号CPU
#示例,虚拟机设置8颗CPU,worker进程为4,4个worker进程分别绑定在1.3.5.7号cpu上。
worker_processes 4;
worker_cpu_affinity 00000010 00001000 00100000 10000000;
[root@centos8 ~]# ps axo pid,cmd,psr | grep nginx
31093 nginx: master process /apps 1
34474 nginx: worker process 1
34475 nginx: worker process 3
34476 nginx: worker process 5
34477 nginx: worker process 7
35751 grep nginx

3).worker_rlimit_nofile

所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致,ulimit -n 能显示(ulimit -a 显示所有),每个进程最多打开文件数个数,默认为1024,如果不调整,设置的65536也不起作用,这里会限制,可以通过修改pam文件进行修改,

[root@centos8:~]#
vim /apps/nginx/conf/nginx.conf
worker_rlimit_nofile 65536;
[root@centos8:/apps/nginx/html]#
vim /etc/security/limits.conf 
添加
*                soft    nofile          1000000
*                hard    nofile          1000000
[root@centos8:/apps/nginx/html]# #内核参数,只能reboot生效
reboot   
[root@centos8:~]#
ulimit -n
1000000

2.event配置

1).worker_connections

设置单个工作进程(worker进程)的最大并发连接数。
例如:worker_connections 65536;

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值