Nginx:性能优化
性能优化是确保 Nginx 在高负载下依然能够高效运行的关键部分。通过合理的配置和调优,可以显著提升 Web 服务的响应速度、吞吐量以及资源利用率。
1. 调整工作进程数、并发连接数以及cpu亲和性
-
worker_processes
:根据 CPU 核心数设置适当的工作进程数。一般cpu有多少核,就设置多少个worker进程,也可以使用auto
可以让 Nginx 自动根据 CPU 核心数调整。worker_processes auto;
-
worker_connections
:每个工作进程允许的最大并发连接数。根据服务器内存和预期负载调整此值。events { worker_connections 1024; }
worker_cpu_affinity
:为每个worker进程分配一个或多个CPU核心,通过绑定特定的worker进程到特定的CPU核心,减少上下文切换带来的开销。这可以通过位掩码来实现,其中每一位代表一个CPU核心(从右到左编号为0, 1, 2, …)
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
2. 启用异步事件驱动模型
-
use epoll
或use kqueue
:选择适合操作系统的事件驱动模型(Linux 使用epoll
,BSD 和 macOS 使用kqueue
),以提高 I/O 处理效率。events { use epoll; worker_connections 1024; }
3. 启用 Gzip 压缩
压缩响应内容可以减少传输数据量,加快页面加载速度。
-
gzip on;
:启用 Gzip 压缩。 -
gzip_types