Linux性能优化需结合场景精准调优:一、内存与调度方面,调整swappiness、vfs_cache_pressure等参数并合理使用实时调度;二、网络基础参数如somaxconn、rmem_max提升连接与缓冲能力;三、TCP深度优化启用BBR、TFO、缩短FIN超时等;四、通过sysctl临时或永久生效并验证效果。

Linux系统性能优化的核心在于合理调整内核参数与TCP协议栈行为,尤其在高并发、低延迟或大吞吐场景下,默认配置往往成为瓶颈。关键不在于堆砌参数,而是理解每个调优项的作用机制,并结合实际负载精准干预。
一、内存与进程调度相关调优
避免因内存压力触发OOM Killer或频繁swap,同时提升进程响应效率:
- vm.swappiness=10:降低交换倾向,仅在内存真正紧张时才使用swap(默认60,服务器建议1–10)
- vm.vfs_cache_pressure=50:减缓dentry/inode缓存回收速度,提升文件路径查找效率(默认100,高IO服务可适当调低)
- vm.dirty_ratio=30 与 vm.dirty_background_ratio=5:控制脏页写回节奏,避免突发刷盘导致I/O阻塞;SSD可略提高dirty_ratio(如40),HDD保持保守值
- 对延迟敏感服务(如数据库、实时交易),可启用realtime scheduler并绑定CPU:用chrt -r -p 80 $(pidof mysqld)提升调度优先级,配合taskset -c 0-3隔离CPU核
二、网络栈基础参数调优
提升连接处理能力与抗突发流量能力,从接收/发送缓冲区和连接队列入手:
- net.core.somaxconn=65535:增大全连接队列上限,防止SYN泛洪或瞬时并发连接激增时丢连接(需同步调整应用listen()的backlog参数)
- net.core.netdev_max_backlog=5000:提高网卡收包队列长度,应对短时流量尖峰(尤其千兆以上网卡)
- net.core.rmem_max 和 wmem_max 设为 25165824(24MB):允许单连接使用更大接收/发送缓冲区,配合应用层TCP窗口自动缩放(tcp_window_scaling=1,默认开启)发挥效果
- net.ipv4.tcp_rmem="4096 65536 25165824":分别设为最小、默认、最大接收缓冲区;系统会按需动态分配,避免静态过大浪费内存
三、TCP协议栈深度优化
针对长连接、高RTT或弱网环境,精细控制重传、拥塞控制与连接生命周期:
标签: mysql linux node go nginx app 端口 工具 栈 ai win google linux系统
还木有评论哦,快来抢沙发吧~