前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >漫画 | 花了七天时间测试,我彻底搞明白了 TCP 的这些内存开销!

漫画 | 花了七天时间测试,我彻底搞明白了 TCP 的这些内存开销!

作者头像
用户6543014
发布2021-01-25 12:26:49
4250
发布2021-01-25 12:26:49
举报
文章被收录于专栏:CU技术社区

点击上方蓝字"开发内功修炼",关注并设为星标

飞哥的硬核文章将第一时间送达~~~

实际中 TCP 连接上肯定是要进行数据的收发的,而且还会有 TIME_WAIT 等其它状态。在这些复杂情况下,一条连接占用多大内存呢?飞哥用做了七天的实验结果告诉你!

实验1:ESTABLISH空连接

实验2:客户端 => 服务器发送数据测试

实验3: 服务器 => 客户端发送数据测试

实验4:非 ESTABLISH 状态

总结

我们把实验中的数据来总结一下

可见,内核在 socket 内存开销优化上采取了不少方法:

  • 1. 内核会尽量及时回收发送缓存区、接收缓存区,但高版本做的更好
  • 2. 发送接收缓存区最小并一定不是 rmem 内核参数里的最小值,实际可能会更小
  • 3. 其它状态下,例如对于TIME_WAIT还会回收非必要的 socket_alloc 等对象

据说转发、点赞、点在看的都会变的更帅!?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SACC开源架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实验1:ESTABLISH空连接
  • 实验2:客户端 => 服务器发送数据测试
  • 实验3: 服务器 => 客户端发送数据测试
  • 实验4:非 ESTABLISH 状态
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档