观察网络性能时如何选择工具

本文介绍了Linux系统中用于观察网络流量、连接状态及静态统计值的实用工具,如sar、iptraf、netstat、ss及ifconfig等,并详细展示了它们的使用方法和输出示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux系统上的网络工具甚多,如何根据实际需要选择称手的工具呢?在此作一个简单介绍:

观察网络流量:
  • sar -n DEV 1 5” 可以统计每个网卡上的网络流速:
    # sar -n DEV 2 5
     
    ...
    02:47:12 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    02:47:14 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    02:47:14 PM      eth0      2.51      0.00      0.17      0.00      0.00      0.00      0.00
    ...

     

  • iptraf 是观察网络流速的强力工具,它可以让你的观察逐步深入,从硬件层(网卡),到网络层(IPv4,IPv6),到传输层(TCP,UDP etc.),一直到每一对socket pair。iptraf-d
观察网络连接的状态:
  • netstat -a
    这是传统的工具,但是它无力处理海量的网络连接。所以在大规模网络连接的主机上,建议使用ss
    # netstat -a
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State      
    tcp        0      0 *:mysql                     *:*                         LISTEN      
    tcp        0      0 *:5901                      *:*                         LISTEN      
    ...
    tcp        0    104 bj71s060.chn.hp.com:ssh     16.169.16.67:52681          ESTABLISHED

     

  • ss -a” 列出所有的网络连接。ss特别适合海量连接的主机。
    如果加上”-p”选项,还可以显示对应的进程号。
    # ss -a
    State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port   
    LISTEN     0      50                      *:mysql                    *:*       
    LISTEN     0      5                       *:5901                     *:*       
    ...
    LISTEN     0      128                    :::38246                   :::*       
    ESTAB      0      184         16.187.252.58:ssh           16.169.16.67:52681

     

观察静态统计值:
  • netstat -i
    # netstat -i
    Kernel Interface table
    Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0       1500   0 572421962      0      0      0 16831237      0      0      0 BMRU
    lo        16436   0    556534      0      0      0   556534      0      0      0 LRU

     

  • ifconfig 可以看到网卡层面的少量统计值,packet数量,collision,errors等:
    # ifconfig eth0
    eth0      Link encap:Ethernet  HWaddr 00:19:BB:5B:07:34  
              inet addr:16.187.252.58  Bcast:16.187.255.255  Mask:255.255.252.0
              inet6 addr: fe80::219:bbff:fe5b:734/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:572422657 errors:0 dropped:0 overruns:0 frame:0
              TX packets:16831252 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:50512945748 (47.0 GiB)  TX bytes:11194760435 (10.4 GiB)
              Interrupt:19 Memory:f0500000-f0520000

     

  • ip -s link” 看到的信息基本类似:
    # ip -s link
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        RX: bytes  packets  errors  dropped overrun mcast   
        2255610398 556534   0       0       0       0      
        TX: bytes  packets  errors  dropped carrier collsns 
        2255610398 556534   0       0       0       0      
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:19:bb:5b:07:34 brd ff:ff:ff:ff:ff:ff
        RX: bytes  packets  errors  dropped overrun mcast   
        3268332087 572422979 0       0       0       16733497
        TX: bytes  packets  errors  dropped carrier collsns 
        2604833405 16831285 0       0       0       0

     

  • netstat -s” 提供了各个协议下的统计信息,有些统计值比如retransmit是很有用的,只有 “netstat -s” 能看到:
    # netstat -s
     
    ...
     
    Tcp:
        71479 active connections openings
        7181 passive connection openings
        13723 failed connection attempts
        407 connection resets received
        1 connections established
        18969163 segments received
        11210435 segments send out
        85883 segments retransmited
        0 bad segments received.
        80162 resets sent
    ...
     475 fast retransmits
     30 forward retransmits
     110 retransmits in slow start
     22772 other TCP timeouts
     5 sack retransmits failed
    ...

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值