Linux下观察网络性能工具

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

观察网络流量:
“sar -n DEV 1 5” 可以统计每个网卡上的网络流速:

# sar -n DEV 2 5
 
...
02:47:12PM    IFACE  rxpck/s  txpck/s    rxkB/s    txkB/s  rxcmp/s  txcmp/s  rxmcst/s
02:47:14PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:47:14PM      eth0      2.51      0.00      0.17      0.00      0.00      0.00      0.00
...

ptraf 是观察网络流速的强力工具,它可以让你的观察逐步深入,从硬件层(网卡),到网络层(IPv4,IPv6),到传输层(TCP,UDP etc.),一直到每一对socket pair。
iptraf-d

观察网络连接的状态:
“netstat -a“
这是传统的工具,但是它无力处理海量的网络连接。所以在大规模网络连接的主机上,建议使用ss。
 


1
2
3
4
5
6
7 # netstat -a
Active Internet connections(servers andestablished)
Proto Recv-QSend-QLocal Address              Foreign Address            State     
tcp        0      0*:mysql                    *:*                        LISTEN     
tcp        0      0*:5901                      *:*                        LISTEN     
...
tcp        0    104bj71s060.chn.hp.com:ssh    16.169.16.67:52681          ESTABLISHED

“ss -a” 列出所有的网络连接。ss特别适合海量连接的主机。
如果加上”-p”选项,还可以显示对应的进程号。

# ss -a
State      Recv-QSend-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 Interfacetable
Iface      MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      1500  0572421962      0      0      016831237      0      0      0BMRU
lo        16436  0    556534      0      0      0  556534      0      0      0LRU

ifconfig 可以看到网卡层面的少量统计值,packet数量,collision,errors等:

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr00: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/64Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:572422657errors:0dropped:0overruns:0frame:0
          TX packets:16831252errors:0dropped:0overruns:0carrier:0
          collisions:0txqueuelen:1000
          RX bytes:50512945748(47.0GiB)  TX bytes:11194760435(10.4GiB)
          Interrupt:19Memory:f0500000-f0520000

“ip -s link” 看到的信息基本类似:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15580.html