【操作系统】Linux基本命令2
衡量网络性能的指标有哪些?
通常是以 4 个指标来衡量网络的性能,分别是带宽、延时、吞吐率、PPS,它们表示的意义如下:
- 带宽,表示链路的最大传输速率,单位是 b/s (比特 / 秒),带宽越大,其传输能力就越强。
- 延时,表示请求数据包发送后,收到对端响应,所需要的时间延迟。不同的场景有着不同的含义,比如可以表示建立 TCP 连接所需的时间延迟,或一个数据包往返所需的时间延迟。
- 吞吐率,表示单位时间内成功传输的数据量,单位是 b/s(比特 / 秒)或者 B/s(字节 /秒),吞吐率受带宽限制,带宽越大,吞吐率的上限才可能越高。
- PPS,全称是 Packet Per Second(包 / 秒),表示以网络包为单位的传输速率,一般用来评估系统对于网络的转发能力。
除了以上这四种基本的指标,还有一些其他常用的性能指标,比如:
- 网络的可用性,表示网络能否正常通信;
- 并发连接数,表示 TCP 连接数量;
- 丢包率,表示所丢失数据包数量占所发送数据组的比率;
- 重传率,表示重传网络包的比例;
网络配置如何查看?
要想知道网络的配置和状态,我们可以使用 ifconfig
或者 ip
命令来查看。虽然这两个命令输出的格式不尽相同,但是输出的内容基本相同,比如都包含了 IP 地址、子网掩码、MAC 地址、网关地址、MTU 大小、网口的连接状态以及网络包收发的统计信息。
socket 信息如何查看?
我们可以使用 netstat
或者 ss
,这两个命令查看 socket、网络协议栈、网口以及路由表的信息。虽然 netstat
与 ss
命令查看的信息都差不多,但是如果在生产环境中要查看这类信息的时候,尽量不要使用 netstat
命令,因为它的性能不好,在系统比较繁忙的情况下,如果频繁用 netstat
命令则会对性能的开销雪上加霜,所以推荐使用性能更好的 ss
命令。
网络吞吐率和 PPS 如何查看?
可以使用 sar
命令当前网络的吞吐率和 PPS,用法是给 sar
增加 -n
参数就可以查看网络的统计信息,比如:
-
sar -n DEV 5 3,显示网口的统计数据,每隔 5 秒采样一次,共采样 3 次;
-
sar -n EDEV 5 3,显示关于网络错误的统计数据;
-
sar -n TCP 5 3,显示 TCP 的统计数据
连通性和延时如何查看?
要测试本机与远程主机的连通性和延时,通常是使用 ping
命令,它是基于 ICMP 协议的,工作在网络层。需要注意的是,ping
不通服务器并不代表 HTTP 请求也不通,因为有的服务器的防火墙是会禁用 ICMP 协议的。