LAMP架构-nginx并发优化
7c1a9397-ea0f-417a-9957-ecec5b9cfb97
1. Linux 下高并发 socket 最大连接数所受的各种限制
1.1 修改用户进程可打开文件数限制
/etc/security/limits.conf
nginx - nofile 65535
1.2 Linux 系统级的最大打开文件数限制
fs.file-max = 188414 // 和内存容量相关
1.3 修改网络内核对 TCP 连接的有关限制
net.ipv4.ip_local_port_range = 1024 65535
1.4 限制接收新 TCP 连接侦听队列的大小
net.core.somaxconn = 2048
1.5 启用 tcp 连接 timewait 快速回收和重用
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
worker_processes //工作进程数
worker_connections //单个工作进程并发连接数
1.6 nginx作为http服务器时
max_clients = worker_processes * worker_connections
1.7 nginx作为反向代理服务器时
max_clients = worker_processes * worker_connections / 2
1.8 worker_processes //将其设置为可用的CPU内核数将是一个好的开始
worker_rlimit_nofile //worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。
1.9. worker_processes 2; //最多开启8个worker_cpu_affinity
01 10; //cpu有多少个核,就有几位数,1代表内核开启,0代表内核关闭。
1.10 multi_accept on; //告诉nginx收到一个新连接通知后接受尽可能多的连接。
1.11. use epoll; //使用epoll模型
1.12. 开启文件高效传输模式,同时设置tcp_nopush 和tcp_nodelay 为on,可以防止网路和磁盘IO阻塞。
sendfile on;
tcp_nopush on;
tcp_nodelay on;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix