Nginx性能优化:掌握这5个参数,性能提升10倍!

Nginx是大型架构核心,下面我详解Nginx性能@mikechen

充分利用多核CPU

控制Nginx工作进程数量。通常设置为CPU核心数或CPU核心数的倍数,以充分利用多核。过多会增加上下文切换,过少会浪费资源。

示例:4核机器可设置:

Nginx性能优化:掌握这5个参数,性能提升10倍!

worker_processes 4;

 

 

最大并发连接数

这个值设置得越高,单个进程能处理的并发连接就越多。

总的最大并发连接数等于 worker_processes * worker_connections。

你需要根据服务器的内存、和预期的并发量来调整。

通常可以设置为 10240 或更高(但要确保操作系统的文件描述符限制也相应提高)。

Nginx性能优化:掌握这5个参数,性能提升10倍!

 

 

零拷贝与网络传输优化

sendfile:启用零拷贝,减少内核-用户空间复制;

Nginx性能优化:掌握这5个参数,性能提升10倍!

sendfile on;
tcp_nopush on;
tcp_nodelay on;

tcp_nopush:合并头部与数据批量发送;

tcp_nodelay:禁用 Nagle 算法,减少小包延迟(动态接口有效)。

 

连接超时设置

配置持久连接(Keep-Alive)的超时时间。

Nginx性能优化:掌握这5个参数,性能提升10倍!

持久连接允许客户端在同一个TCP连接上发送多个请求,减少了建立和关闭连接的开销(TCP三次握手和四次挥手)。

http {
    # 保持连接的超时时间,客户端可以重用这个连接
    keepalive_timeout 60s; 
    # 在一个连接上最多可以发送的请求数
    keepalive_requests 1000;
}

优化建议: 适当增加keepalive_timeout的值(例如 30-60秒),可以减少连接建立的开销。

但如果设置得太长,空闲连接会占用服务器资源,需要平衡。

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧