nginx.conf配置调优

整理一些配置调优项:

1. worker_processes。

用途:调整worker进程的数量。

建议值:调整为服务器的CPU核数。

原理:Apache的每个进程同一时间只能处理一个请求,所以要尽量多配置进程数。而Nginix与Apache不同,每个worker都可以并发处理多个请求,所以worker数量无需更多,与CPU核数一致即可发挥最大性能。

示例:

worker_processes 8;

2.daemon

用途:使用以守护进程方式启动。默认为on

建议值: on

原理:只有当需要进程调试时,避免fork出子进程时才会调整为off

示例:

daemon on;

3.master_process

用途:是否以master/worker方式工作。默认为on

建议值: on

原理:只有当需要进程调试时,避免fork出子进程时才会调整为off

示例:

master_process on;

4.error_log /path/file level

用途:error日志的设置

建议值:日志名按时间区分。level生产环境设置为error

原理:

示例:

error_log logs/error.log error;

5. user username [groupname]

 用途:指定worker进程的启动账号和组

 6.worker_cpu_affinity cpumask [cpumask]

用途:绑定worker进程到指定的cpu内核,该参数仅对Linux操作系统有效

原理:

示例

worker_processes 4;
worker_cpu_affinity 1000 0100 0010 0001;

 7.worker_priority nice

用途:设定worker进程的优先级,默认为0

原理:优先级(nice)值越低,分到的时间片越大。优先级高,会限制性,并占用更多的系统资源。

示例:

worker_priority -1; 

8.accept_mutext [on|off]

用途:Nginx的负载均衡锁;默认开启。

原理:该锁可以让Nginx的多个worker进程轮流的、序列化的与新客户端建立TCP连接,以此实现worker进程间的请求数尽量接近。关闭可以让TCP建立连接更快,但不建议关闭

示例:

accept_mutext on; 

9.accept_mutex_delay Nms

用途:使用accept锁后,定义worker进程取锁失败后重试等待的时间。默认500ms

示例:

accept_mutex_delay 500ms; 

10. multi_accept [on|off]

用途:批量建立新连接。默认为off。

示例:

multi_accept off; 

11. use [poll|select|epoll]

用途:选择事件模型,nginx默认会自动选择最合适的事件模型。最可能的是epoll

示例:

use epoll; 

12. worker_connections number

用途:定义每个worker可以同时处理的最大连接数。

示例:

worker_connections 1000; 
原文地址:https://www.cnblogs.com/hupingzhi/p/11926708.html