应关闭tcp_slow_start_after_idle(设为0)以避免长连接空闲后吞吐骤降;合理调大tcp_rmem/tcp_wmem(如4096 262144 16777216)提升大结果集传输效率;高延迟场景优选BBR拥塞控制;代理层启用tcp_tw_reuse并适当调低tcp_fin_timeout缓解端口耗尽。tcp_slow_start_after_idle 导致连接复用时吞吐骤降MySQL 在长连接空闲后重建传输窗口,tcp_slow_start_after_idle 默认开启会强制重走慢启动,对短突发查询很不友好。比如应用层用连接池维持长连接,但每分钟只发几条语句,实际带宽可能长期卡在初始 10KB/s。检查当前值:sysctl net.ipv4.tcp_slow_start_after_idle(Linux 4.1+ 默认为 1)生产环境建议关闭:sysctl -w net.ipv4.tcp_slow_start_after_idle=0,并写入 /etc/sysctl.conf注意:该参数仅影响已建立连接的空闲恢复行为,不影响新建连接的初始 cwndnet.ipv4.tcp_rmem 和 net.ipv4.tcp_wmem 设置不合理MySQL 的大结果集(如 SELECT * FROM huge_table)或批量插入常受 TCP 缓冲区限制,tcp_rmem 过小会导致接收方频繁 ACK,tcp_wmem 过小则发送端无法攒够 MSS,降低单次传输效率。典型错误配置:4096 16384 65536 ------ 最大值 64KB 对千兆网太保守推荐值(万兆内网):4096 262144 16777216(min/default/max,单位字节)必须配合 net.core.rmem_max 和 net.core.wmem_max 调高,否则系统会截断到其上限修改后需重启 MySQL 或至少重连客户端才生效(内核参数作用于 socket 层)net.ipv4.tcp_congestion_control 选错算法影响高延迟链路跨机房或云厂商间 MySQL 主从同步、ProxySQL 转发等场景,RTT 常超 20ms,传统 cubic 易激进扩窗导致丢包;而 reno 又过于保守。这时 bbr 是更稳的选择,但要注意兼容性。 唱鸭 音乐创作全流程的AI自动作曲工具,集 AI 辅助作词、AI 自动作曲、编曲、混音于一体
相关推荐
IvorySQL32 分钟前
PostgreSQL 日报|恢复期 COPY TO 未日志表修复(10 月 21 日)贝猫说python2 小时前
大模型比赛2.3智能体开发(工具调用智能问答助手)许彰午3 小时前
28-ORA-01110数据文件读取错误凯凯姜3 小时前
MySQL 联合索引设计与索引失效猫咪很可爱4 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践外收内放4 小时前
面向对象高级(实战案例)专业程序开发源5 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计FPGA小迷弟5 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南卷无止境5 小时前
面向arm64桌面客户端开发全景:语言、框架与生态九零HTTP5 小时前
10月21号-CSDN配菜-IP池的5个坑