感谢支持
我们一直在努力

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” 看到的信息基本类似:

# ip -s link
1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdisc noqueue state UNKNOWN
    link/loopback00:00:00:00:00:00brd00:00:00:00:00:00
    RX:bytes  packets  errors  dropped overrun mcast 
    2255610398556534  0      0      0      0     
    TX:bytes  packets  errors  dropped carrier collsns
    2255610398556534  0      0      0      0     
2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc pfifo_fast state UP qlen1000
    link/ether00:19:bb:5b:07:34brd ff:ff:ff:ff:ff:ff
    RX:bytes  packets  errors  dropped overrun mcast 
    32683320875724229790      0      0      16733497
    TX:bytes  packets  errors  dropped carrier collsns
    2604833405168312850      0      0      0

“netstat -s” 提供了各个协议下的统计信息,有些统计值比如retransmit是很有用的,只有 “netstat -s” 能看到:

# netstat -s
 

 
Tcp:
    71479active connections openings
    7181passive connection openings
    13723failed connection attempts
    407connection resets received
    1connections established
    18969163segments received
    11210435segments send out
    85883segments retransmited
    0bad segments received.
    80162resets sent

475fast retransmits
30forward retransmits
110retransmits inslow start
22772other TCP timeouts
5sack retransmits failed

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127870.htm

赞(0) 打赏
转载请注明出处:服务器评测 » Linux下观察网络性能工具
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏