从0到1:Linux 系统 TCP 缓冲区调优实战指南

简介: 本文将带你了解:✅ 如何查看当前 TCP 缓冲区大小✅ 如何根据业务需求调整接收/发送缓冲区✅ 实际调参案例与注意事项适合正在排查网络性能瓶颈的一线网络工程师、系统运维人员阅读。

在 Linux 中,你可以通过调整 TCP 缓冲区的大小来优化网络性能,尤其是当你的系统处理大量的网络流量时。调整 TCP 缓冲区有助于提升吞吐量、降低延迟并避免缓冲区溢出。以下是几个常见的 TCP 缓冲区设置和调整方法。

1. 查看当前的 TCP 缓冲区设置

你可以通过以下命令查看当前的 TCP 缓冲区设置:

sysctl net.ipv4.tcp_rmem sysctl net.ipv4.tcp_wmem

  • tcp_rmem:接收缓冲区的最小值、默认值和最大值
  • tcp_wmem:发送缓冲区的最小值、默认值和最大值

输出示例:

net.ipv4.tcp_rmem = 4096 87380 6291456 net.ipv4.tcp_wmem = 4096 16384 4194304

  • 第一个值:最小缓冲区大小
  • 第二个值:默认缓冲区大小
  • 第三个值:最大缓冲区大小

2. 调整 TCP 缓冲区大小

你可以通过修改 /etc/sysctl.conf 或使用 sysctl 命令来调整这些值。

调整接收和发送缓冲区的最小值、默认值和最大值

sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"sysctl -w net.ipv4.tcp_wmem="4096 16384 16777216"

上面的设置将 tcp_rmemtcp_wmem 的最大缓冲区设置为 16 MB。

永久修改

要使更改永久生效,编辑 /etc/sysctl.conf 文件并添加以下行:

net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 16384 16777216

然后,执行以下命令重新加载配置:

sysctl -p

3. 调整 TCP 接收和发送缓冲区的窗口自动调整

Linux 还允许自动调整 TCP 缓冲区的大小,根据网络状况动态变化。你可以开启这个功能,提升性能:

sysctl -w net.ipv4.tcp_moderate_rcvbuf=1

4. 使用 ss 命令检查 TCP 缓冲区大小

ss 命令可以查看当前系统中每个连接的 TCP 缓冲区大小。

ss -t -a

5. 调整最大连接队列

在高并发环境下,你可能还需要调整系统中 TCP 的最大连接队列大小:

sysctl -w net.core.somaxconn=1024

总结:

  • tcp_rmem 和 tcp_wmem:用于调整接收和发送缓冲区的最小值、默认值和最大值。
  • tcp_moderate_rcvbuf:开启自动调整缓冲区大小,以适应网络波动。
  • somaxconn:最大连接队列的大小,用于提高高并发连接的性能。

调整这些参数可以优化系统的网络性能,特别是在高流量和高延迟的环境下。



💡 如果你经常需要做网络性能测试、进行网络配置,不妨试试我们的「网络工具箱」:

✅ 免费获取开源网络小工具(如:拨测、带宽流量技术、子网掩码计算、公有云Region查询)

加入「企业网络实战交流群」,与一线网工讨论:

  • 专线打流失败怎么办?
  • 如何判断是链路问题还是设备瓶颈?
  • 多点间网络延迟优化技巧

👉 钉钉扫码或留言“网络工具”即可获取资源+入群邀请

image.png

(仅限企业网络工程师、运维人员,审核后加入)

相关文章
|
24天前
|
网络协议 安全
说一下 TCP 的三次握手四次挥手过程
我是小假 期待与你的下一次相遇 ~
215 1
|
17天前
|
域名解析 存储 弹性计算
阿里云服务器购买与使用参考:云服务器购买、域名注册、备案流程
阿里云服务器购买与使用涵盖ECS选购、域名注册、备案及绑定等流程。ECS选购提供包年包月/按量付费模式,用户可根据需求选择地域、实例规格及镜像存储等配置。域名注册支持多种后缀,提供创建信息模板、实名认证等服务。备案攻略包括准备材料、在线提交申请及审核流程。最后,通过域名解析与服务器绑定,实现网站访问。购买前可先在权益中心领券以获得更多减免。
|
1月前
|
人工智能 安全 调度
AI工程vs传统工程 —「道法术」中的变与不变
本文从“道、法、术”三个层面对比AI工程与传统软件工程的异同,指出AI工程并非推倒重来,而是在传统工程坚实基础上,为应对大模型带来的不确定性(如概率性输出、幻觉、高延迟等)所进行的架构升级:在“道”上,从追求绝对正确转向管理概率预期;在“法”上,延续分层解耦、高可用等原则,但建模重心转向上下文工程与不确定性边界控制;在“术”上,融合传统工程基本功与AI新工具(如Context Engineering、轨迹可视化、多维评估体系),最终以确定性架构驾驭不确定性智能,实现可靠价值交付。
366 41
AI工程vs传统工程 —「道法术」中的变与不变
|
2月前
|
数据采集 人工智能 运维
AgentRun 实战:快速构建 AI 舆情实时分析专家
搭建“舆情分析专家”,函数计算 AgentRun 快速实现从数据采集到报告生成全自动化 Agent。
870 56
|
前端开发 JavaScript Java
Layui之入门
Layui之入门
461 0
|
17天前
|
机器学习/深度学习 算法 安全
基于混沌增强领导者黏菌算法优化变分模态分解CELSMA-VMD数字信号去噪(优化K值 alpha值 综合指标 适应度函数包络熵)附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、引言:数字信号去噪的痛点与技术革新契机 1.1 非平稳信号去噪的核心挑战 在当今数字化时代,从工业生产中的设备振动监测,到生物医学领域里的心电图、脑电波分析,非平稳信号广泛存在且蕴含着丰富的关键信息。然而,这些信号极易受到噪声干扰,使得有效信息的提取困难重重。传统的信号去
260 158
|
17天前
|
机器学习/深度学习 算法 安全
基于哈里斯鹰算法HHO优化图像模糊集增强附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、开篇:被模糊图像逼疯?HHO 算法来救场! 1.1 图像模糊集增强的 “老大难” 问题 家人们,我最近在处理图像的时候,真的被模糊图像折磨得不行!每次想把那些模糊的图片变得清晰、好看,都要花费超多时间和精力。就拿我上次帮朋友处理旅行照片来说,本来那些风景照特别美,可因为拍
259 155
|
1月前
|
存储 数据采集 弹性计算
面向多租户云的 IO 智能诊断:从异常发现到分钟级定位
当 iowait 暴涨、IO 延迟飙升时,你是否还在手忙脚乱翻日志?阿里云 IO 一键诊断基于动态阈值模型与智能采集机制,实现异常秒级感知、现场自动抓取、根因结构化输出,让每一次 IO 波动都有据可查,真正实现从“被动响应”到“主动洞察”的跃迁。
310 61
|
30天前
|
人工智能 运维 前端开发
阿里云百炼高代码应用全新升级
阿里云百炼高代码应用全新升级,支持界面化代码提交、一键模板创建及Pipeline流水线部署,全面兼容FC与网关多Region生产环境。开放构建日志与可观测能力,新增高中低代码Demo与AgentIdentity最佳实践,支持前端聊天体验与调试。
394 52
|
17天前
|
人工智能 弹性计算 应用服务中间件
阿里云一键部署Moltbot教程及使用指南
阿里云上线了Moltbot一键部署方案,无需复杂配置即可快速启用Moltbot,并实现与钉钉、QQ等消息通道的无缝对接,快速拥有专属AI助手!
1214 9