面试题答案
一键面试选择及理由
- 选择NGINX:对于大量短连接请求场景,NGINX 凭借其事件驱动、异步非阻塞的架构优势,能高效处理海量并发连接。OpenSSL 虽功能强大,但主要专注于加密库,在处理大量短连接的高并发场景下,性能不如 NGINX。
NGINX 配置优化要点
- 连接相关配置
worker_connections 10240; # 根据服务器性能调整,提高单个 worker 进程可处理的最大连接数 events { use epoll; # 使用 epoll 事件模型,适用于 Linux 系统,高效处理大量并发连接 multi_accept on; # 允许一个 worker 进程在一次事件调用中接受多个新连接 }
- SSL 配置
ssl_protocols TLSv1.2 TLSv1.3; # 优先使用较新且更安全高效的协议版本 ssl_ciphers HIGH:!aNULL:!MD5; # 选择高强度加密套件 ssl_session_cache shared:SSL:10m; # 配置 SSL 会话缓存,提高重复连接的性能 ssl_session_timeout 10m; # 设置会话缓存超时时间
- 负载均衡配置(若有多个后端服务器)
upstream backend { server backend1.example.com; server backend2.example.com; least_conn; # 使用最少连接数算法,将请求分配到连接数最少的后端服务器 } server { location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }