Nginx性能调优

Nginx性能取决于系统内核参数的设定以及Nginx自身的配置情况。自身调优配置主要来源于Core functionality提供选项。

::: warning 注意
性能调优需要结合现场实际,切勿生搬硬套
:::

自身配置

accept_mutex

Syntax:	accept_mutex on | off;
Default: accept_mutex off;
Context: events

开启该选项表示所有worker进程轮流的接受新的请求。默认情况下,一旦有新的请求都会通知所有的worker进程。如果新连接的数量较低,那所有请求都会通知一遍worker进程,造成系统资源浪费。推荐开启

multi_accept on

Syntax:	multi_accept on | off;
Default: multi_accept off;
Context: events

如果禁用multi_accept,则工作进程将一次接受一个新连接。否则,工作进程将一次接受所有新连接。推荐开启

use method

Syntax: use method;
Default: —
Context: events

指定默认的请求处理方法,一般不需要特殊指定,Nginx会根据系统自动选择最合适的选项。推荐使用use epoll

worker_aio_requests number

Syntax:	worker_aio_requests number;
Default: worker_aio_requests 32;
Context: events

当使用aioepoll方法时,指定每个工作进程的最大的异步I/O操作数量

worker_connections number

Syntax:	worker_connections number;
Default: worker_connections 1024;
Context: events

设置工作进程可以打开的最大同时连接数默认值是1024。这个数值包括了包括了所有的链接,这个数值不能超过打开文件的最大数量。

worker_cpu_affinity cpumask

Syntax:	worker_cpu_affinity cpumask ...;
worker_cpu_affinity auto [cpumask];
Default: —
Context: main

设置cpu亲和性,将worker进程绑定到CPU核心。每个cpu核心都由允许cpu的位掩码表示。应该为每个worker进程定义一个单独的集合。默认情况下,工作进程不绑定到任何特定的cpu。

worker_processes    4;
worker_cpu_affinity 0001 0010 0100 1000;

除了手动指定核心外,从1.9.0开始支持自动绑定核心

worker_processes auto;
worker_cpu_affinity auto;

也可以指定核心让nginx自动绑定调度

#nginx的worker进程仅会与奇数核心的cpu核心绑定
worker_cpu_affinity auto 01010101;

worker_processes number | auto

Syntax:	worker_processes number | auto;
Default: worker_processes 1;
Context: main

设定nginx的worker进程数量,默认数量为1。设置为cpu核心数或者是auto选项最佳。

worker_rlimit_nofile num

Syntax:	worker_rlimit_nofile number;
Default: —
Context: main

设定nginx可以打开最大文件数量,默认为65535,这个值推荐与系统的可以打卡的最大文件数(ulimit -n)一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值