34 | 关于 Linux 网络,你必须知道这些(下)
倪朋飞
该思维导图由 AI 生成,仅供参考
你好,我是倪朋飞。
上一节,我带你学习了 Linux 网络的基础原理。简单回顾一下,Linux 网络根据 TCP/IP 模型,构建其网络协议栈。TCP/IP 模型由应用层、传输层、网络层、网络接口层等四层组成,这也是 Linux 网络栈最核心的构成部分。
应用程序通过套接字接口发送数据包时,先要在网络协议栈中从上到下逐层处理,然后才最终送到网卡发送出去;而接收数据包时,也要先经过网络栈从下到上的逐层处理,最后送到应用程序。
了解 Linux 网络的基本原理和收发流程后,你肯定迫不及待想知道,如何去观察网络的性能情况。具体而言,哪些指标可以用来衡量 Linux 的网络性能呢?
性能指标
实际上,我们通常用带宽、吞吐量、延时、PPS(Packet Per Second)等指标衡量网络的性能。
带宽,表示链路的最大传输速率,单位通常为 b/s (比特 / 秒)。
吞吐量,表示单位时间内成功传输的数据量,单位通常为 b/s(比特 / 秒)或者 B/s(字节 / 秒)。吞吐量受带宽限制,而吞吐量 / 带宽,也就是该网络的使用率。
延时,表示从网络请求发出后,一直到收到远端响应,所需要的时间延迟。在不同场景中,这一指标可能会有不同含义。比如,它可以表示,建立连接需要的时间(比如 TCP 握手延时),或一个数据包往返所需的时间(比如 RTT)。
PPS,是 Packet Per Second(包 / 秒)的缩写,表示以网络包为单位的传输速率。PPS 通常用来评估网络的转发能力,比如硬件交换机,通常可以达到线性转发(即 PPS 可以达到或者接近理论最大值)。而基于 Linux 服务器的转发,则容易受网络包大小的影响。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了Linux网络的基本原理和性能指标,以及如何观测网络性能。首先,文章详细介绍了网络性能指标,包括带宽、吞吐量、延时、PPS等,并指出了常用的性能指标如可用性、并发连接数、丢包率等。接着,文章介绍了如何查看网络接口的配置和状态,以及如何使用ifconfig和ip命令来查看网络接口的配置信息。然后,文章介绍了如何查看套接字信息,使用netstat或ss命令来查询套接字、网络栈、网络接口以及路由表的信息。最后,文章强调了在观测网络性能时需要特别关注的指标,如网络接口的状态标志、MTU大小、网络收发的字节数、包数、错误数以及丢包情况等。此外,文章还介绍了如何使用sar命令来查看网络的统计信息,以及如何使用ping命令测试远程主机的连通性和延时。整体来说,本文内容涵盖了Linux网络的基本原理和性能指标,以及如何观测网络性能,对于想要深入了解Linux网络的读者具有一定的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Linux 性能优化实战》,新⼈⾸单¥68
《Linux 性能优化实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(52)
- 最新
- 精选
- 分清云淡小狗同学问到: 老师,您好 ss —lntp 这个 当session处于listening中 rec-q 确定是 syn的backlog吗? A: Recv-Q为全连接队列当前使用了多少。 中文资料里这个问题讲得最明白的文章:https://mp.weixin.qq.com/s/yH3PzGEFopbpA-jw4MythQ
作者回复: 👍谢谢分享
2019-03-01637 - Days老师春节不休息,大赞啊,老师可否讲解一下一个包从网卡接收,发送在内核协议栈的整个流程,这样性能分析的时候,更好的理解数据包阻塞在哪里?
作者回复: 这些在后面的案例中会涉及
2019-02-0914 - [小狗]老师,您好 ss —lntp 这个 当session处于listening中 rec-q 确定是 syn的backlog吗? 我之前都是当做全队列的长度
作者回复: 是的
2019-02-0938 - code2每期读两遍,看看别人怎么做!
作者回复: 👍
2019-02-105 - MJ老师,有一事疑惑,希望帮忙解惑。 一台64个千兆端口的交换机,全双工模式,交换容量计算:64*1000*2 包转发速率计算:64*1.488Mpp 交换容量有个乘以2,为什么包转发速率不需要乘以2? (我理解,端口速率1000bps,在全双工模式下,按照双向速率计算,即总速率是2000bps)
作者回复: 嗯嗯,说转发性能的时候一般都是指一个方向的
2019-03-124 - Gaoyc通过ifconfig和ss看到的错误包或丢弃包等的一些错误是累加的嘛?是否可以清空这些错误包信息?
作者回复: 是的,都是累加值,所以不建议清空这些统计信息。并且,真正要清的化,也需要停止网卡并且卸载(rmmod)网卡内核模块,这在实际环境中通常是不允许的。
2019-02-223 - xfanSpeed 有的通过ethtool查不到,是什么原因呢,那查不到的话,默认值是多少呢
作者回复: 可能跟网卡状态和驱动有关,可以试试先配置好 IP 并开启网卡后再查看
2019-02-113 - zhoufeng老师好,再请教一个问题,查看max_syn_backlog值为2048,表示同时最大只能接受2048个请求吗? # cat /proc/sys/net/ipv4/tcp_max_syn_backlog 2048
作者回复: 不是,这只是半连接的最大数量
2019-05-212 - zhoufeng老师好, “当套接字处于listen状态时,使用ss命令看到的Send-Q表示最大的syn_backlog值” 但是和/proc/sys/net/ipv4/tcp_max_syn_backlog 查看到的值不一致,是我理解错了吗? 谢谢
作者回复: 前一个是套接字级的,后一个是系统级的
2019-05-212 - 好好学习eth0: flags=4163 这个什么意思,有点好奇
作者回复: 网络接口的一些标志,含义在尖括号中
2019-03-092
收起评论