Nginx 性能调优指南:从连接数到缓存的那些坑
Nginx 的默认配置对于个人小博客来说绰绰有余,但一旦你的网站流量开始增长,如果不做调优,服务器很容易在并发高峰期出现 502 Bad Gateway。
今天翻看之前的运维笔记,整理了几个 Nginx 在生产环境中必须调整的关键参数。
1. 榨干 CPU:Worker 进程优化
Nginx 是基于事件驱动和异步非阻塞架构的。默认配置下,worker_processes 通常是 1。这完全浪费了现在的多核服务器。
打开你的 nginx.conf,将这个参数设置为 auto,让 Nginx 自动匹配 CPU 核心数:
1 | worker_processes auto; |
2. 突破连接数瓶颈
很多人发现网站卡顿,查了 CPU 和内存都没跑满,最后发现是连接数超了。在 events 块中,我们需要调整最大连接数,并开启 epoll 模式(Linux 环境下必开)。
1 | events { |
提示:调整这个参数的同时,记得去 Linux 系统层面修改 ulimit -n,否则 Nginx 配置了也没用。
[在这里插入一张 Nginx 处理并发请求的流程图或压力测试截图]
3. 开启 Gzip 压缩:以 CPU 换带宽
现在的云服务器,带宽通常比 CPU 更昂贵。开启 Gzip 可以大幅压缩 HTML、CSS、JS 的体积,加快前端加载速度。
1 | http { |
踩坑总结
调优永远没有标准答案,所有的参数都要根据你的实际业务模型(IO 密集型还是计算密集型)来微调。建议每次修改配置后,都用 ab 命令或 JMeter 压测一下,用数据说话。
This piece of writing is an original article, utilizing theCC BY-NC-SA 4.0Agreement. For complete reproduction, please acknowledge the source as Courtesy ofHexo
