全部学科
Python全栈
python
NodeJS全栈
nodejs

性能优化专题测试

20 题 50 分钟 难度:★★

考察知识点

  • worker 进程与 CPU 绑定(worker_cpu_affinity)
  • 事件驱动模型优化(epoll)
  • sendfile 零拷贝原理
  • gzip 压缩优化配置
  • 缓存配置(proxy_cache_path/cache/valid)
  • 连接超时与 keepalive 优化
  • 日志优化与缓冲
  • SSL/TLS 性能优化
  • 负载均衡算法调优
  • 系统内核参数调优(somaxconn/tcp_tw_reuse/file-max)
💡 参考答案在文末
判断题
1

Nginx 的访问日志可以用于安全监控和审计,通过分析日志可以发现异常访问行为和潜在的安全攻击。()

A

B

2

在 Nginx + Tomcat 集群部署中,Nginx 负责负载均衡和静态资源服务,Tomcat 负责处理动态请求,这种架构实现了动静分离。()

A

B

3

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

A

B

单选题
4

在 Nginx 负载均衡环境中,以下哪种方式不能实现会话保持?

A

使用 ip_hash 算法

B

使用 sticky cookie 模块

C

使用 Redis 等外部存储共享 Session 数据

D

使用 round-robin 轮询算法

5

在 Nginx 中,以下哪种方式不能用于清理 proxy_cache 缓存?

A

手动删除缓存目录下的文件

B

使用 proxy_cache_purge 指令配合 PURGE 请求方法清理特定 URL

C

重启 Nginx 服务自动清空缓存

D

设置 proxy_cache_valid 为很短的时间,让缓存快速过期

6

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

A

select

B

poll

C

epoll

D

kqueue

7

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

A

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

B

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

C

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

D

以上都正确

8

在 Nginx 作为反向代理时,如何将客户端真实 IP 传递给后端服务器?

A

使用 proxy_set_header X-Real-IP $remote_addr;

B

使用 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

C

A 和 B 都可以

D

Nginx 不支持传递客户端真实 IP

9

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

A

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

B

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

C

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

D

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

10

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

A

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

B

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

C

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

D

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

11

在构建 Nginx 高可用集群时,以下哪种架构是最常见的?

A

单台 Nginx + 单台后端服务器

B

Keepalived + 双机 Nginx(主备)+ 多台后端服务器

C

多台 Nginx 直接并列,无健康检查和故障转移

D

Nginx + 数据库集群,无后端应用服务器

12

要监控 Nginx 的实时性能指标(如活跃连接数、请求速率等),最简单的方式是?

A

查看 Nginx 的错误日志

B

启用 ngx_http_stub_status_module 模块,通过 HTTP 接口查看状态

C

查看 Nginx 的访问日志并手动统计

D

定期重启 Nginx 以重置计数器

13

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

A

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

B

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

C

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

D

以上都正确

多选题
14

以下关于 Nginx proxy_cache 缓存机制的说法,正确的有?

A

proxy_cache_path 定义的 keys_zone 是存储在内存中的缓存键元数据

B

缓存文件实际存储在 proxy_cache_path 指定的磁盘路径上

C

proxy_cache_key 可以自定义缓存的键计算规则

D

Nginx 缓存不支持按 URL 参数区分缓存

15

以下哪些 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 转发功能

16

关于 Nginx 访问日志配置,以下说法正确的有?

A

log_format 指令用于定义自定义日志格式

B

access_log 指令只能在全局 http 段配置

C

可以在 access_log 中使用变量动态生成日志文件名

D

Nginx 默认记录的日志格式是 combined 格式

17

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

A

启用 SSL Session 缓存(ssl_session_cache)

B

启用 SSL Session 票据(ssl_session_tickets)

C

启用 OCSP Stapling

D

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

18

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

A

gzip on;

B

gzip_types text/css application/json;

C

gzip_comp_level 6;

D

gzip_min_length 256;

填空题
19

配置 Nginx upstream 负载均衡,使用 least_conn 算法,并为后端服务器设置权重:

text
____________ backend_servers {
    ____________;
    server 192.168.1.10:8080 ____________ 3;
    server 192.168.1.11:8080 weight 1;
}

请填入正确的指令名称。(1.定义 upstream 块 2.指定算法 3.设置权重)

20

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

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