全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 10 道配套习题

Nginx性能优化专题

专题说明

本专题聚焦Nginx性能优化的核心知识点,从进程模型、事件驱动、零拷贝技术、压缩传输、缓存策略、连接管理、日志优化、SSL性能到系统内核参数调优,全面覆盖高并发场景下的性能调优实践。

学习目标

  1. 掌握worker进程与CPU绑定的配置方法和适用场景
  2. 理解epoll事件驱动模型的原理及优势
  3. 掌握sendfile零拷贝、gzip压缩、缓存配置等核心优化技术
  4. 学会配置连接超时、日志缓冲、SSL会话缓存等性能优化参数
  5. 理解Linux内核参数与Nginx性能的关联,能进行系统级调优

学习内容

本专题涵盖以下知识点:

  • worker_cpu_affinity CPU亲和性配置
  • epoll事件驱动模型
  • sendfile零拷贝技术
  • gzip压缩配置(gzip_types、gzip_comp_level、gzip_min_length)
  • 反向代理缓存(proxy_cache_path、proxy_cache、proxy_cache_valid)
  • 连接超时与keepalive优化
  • 日志缓冲(access_log buffer)
  • SSL/TLS性能优化(ssl_session_cache、ssl_session_tickets、OCSP Stapling)
  • 负载均衡算法调优(round-robin、ip_hash、least_conn、hash)
  • Linux内核参数调优(somaxconn、tcp_tw_reuse、fs.file-max)

学习建议

  • 理解每项优化技术的底层原理,而非死记配置指令
  • 注意区分Nginx层优化和操作系统层优化,两者配合才能达到最佳效果
  • 性能优化需结合实际业务场景,避免过度优化

📝 配套习题(10 题)

💡 参考答案在文末
判断题
1

Nginx 中启用 sendfile 后,可以直接将文件数据从磁盘缓冲区发送到网络socket,无需经过用户空间内存拷贝,从而显著提升静态文件传输性能。()

A

B

单选题
2

在多核 CPU 服务器上,为了提升 Nginx 的性能,可以将 Worker 进程绑定到特定的 CPU 核心上。以下关于 CPU 绑定的说法,正确的是?

A

使用 worker_cpu_affinity 指令可以配置 CPU 亲和性

B

CPU 绑定时,worker_processes 必须等于 CPU 核心数

C

自动 CPU 绑定时,可以使用 auto 参数让系统自动分配

D

CPU 绑定在任何场景下都能显著提升性能

3

在 Linux 系统上,Nginx 性能最优的事件驱动模型是?

A

select

B

poll

C

epoll

D

kqueue

4

在 Nginx 中配置反向代理缓存,以下说法正确的是?

A

proxy_cache_path 指令用于定义缓存存放的路径和参数

B

proxy_cache 指令用于启用缓存并指定使用的缓存区域名称

C

proxy_cache_valid 指令用于为不同的 HTTP 状态码设置不同的缓存时间

D

以上都正确

5

关于 Nginx 日志缓冲(buffer)的配置,以下说法正确的是?

A

access_log 指令可以使用 buffer 参数设置写缓冲大小

B

启用日志缓冲可以减少磁盘 I/O 操作,提升性能

C

日志缓冲意味着日志写入不是实时的

D

以上都正确

6

以下关于 Nginx 负载均衡算法的说法,错误的是?

A

round-robin(轮询)是默认的负载均衡算法,按时间顺序逐一分配到后端服务器

B

ip_hash 根据客户端 IP 的哈希值分配,可以保证同一客户端始终分配到同一后端

C

least_conn 优先分配到当前活跃连接数最少的后端服务器

D

hash 算法只能基于客户端 IP 进行哈希计算

多选题
7

以下哪些是 Nginx gzip 压缩相关的配置指令?

A

gzip on;

B

gzip_types text/css application/json;

C

gzip_comp_level 6;

D

gzip_min_length 256;

8

以下哪些技术可以用于优化 Nginx 的 SSL/TLS 性能?

A

启用 SSL Session 缓存(ssl_session_cache)

B

启用 SSL Session 票据(ssl_session_tickets)

C

启用 OCSP Stapling

D

禁用所有加密套件以减少计算量

9

以下哪些 Linux 内核参数调优可以提升 Nginx 的高并发性能?

A

net.core.somaxconn 增大 TCP 连接等待队列的大小

B

net.ipv4.tcp_tw_reuse 允许重用 TIME_WAIT 状态的 TCP 连接

C

fs.file-max 增大系统级别的文件描述符上限

D

net.ipv4.ip_forward 开启 IP 转发功能

填空题
10

在 Nginx 中,配置客户端连接超时参数:

  1. 使用 ____________ 设置读取客户端请求体的超时时间
  2. 使用 ____________ 设置向客户端发送响应的超时时间
  3. 使用 ____________ 设置长连接的超时时间
参考答案
1.正确 2.A 3.C 4.D 5.D 6.D 7.A;B;C;D 8.A;B;C 9.A;B;C 10.client_body_timeout;send_timeout;keepalive_timeout
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 Nginx安装与配置专题
下一个专题 → Nginx核心配置文件与语法专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码