应关闭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 自动作曲、编曲、混音于一体
相关推荐
明月_清风31 分钟前
DuckDB:一个正在改变数据分析方式的数据库学也学不废32 分钟前
论文阅读:Advancing Semantic Textual Similarity Modeling风早爽太1 小时前
Python 开发笔记:配置生产环境中 Celery Worker 的独立进程启动方式打工仔折腾 AI1 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问CoLiuRs1 小时前
电商价格是怎样算出来的小蒜学长1 小时前
基于Python的动物救助站管理系统的设计与实现(代码+数据库+LW)小小张说故事1 小时前
Python 中 __new__ 和 __init__ 到底谁才是构造函数?一文讲透区别与 5 个坑言乐62 小时前
Python实现关税自动计算模型伞伞悦读2 小时前
从零打通 Hermes Agent:Windows + WSL2 + Clash 全链路安装、认证与首次实战happylifetree2 小时前
Python17:核心语法-数据存储与运算-输入与输出