更新时间:2022-08-07 11:06:15作者:佚名
Linux性能监控(网路性能)
网路的检测是所有Linux子系统上面最复杂的,有太多的诱因在上面,例如:延后、阻塞、冲突、丢包等,更糟的是与Linux主机相连的路由器、交换机、无线讯号就会影响到整体网路而且很难判定是由于Linux网路子系统的问题还是别的设备的问题,降低了检测和判定的复杂度。如今我们使用的所有网卡都称为自适应网卡,意思是说能依照网路上的不同网路设备造成的不同网路速率和工作模式进行手动调整。
文章目录
命令
是一个免费的开源,跨平台命令行程序,用于执行实时网路吞吐量检测。它是测试IP网路中可实现的最大带宽的强悍工具之一(支持IPv4和IPv6)。
是一个网路性能测试工具。Iperf可以测试TCP和UDP带宽质量。可以检测最大TCP带宽,具有多种参数和UDP特点。Iperf可以报告带宽,延后晃动和数据包遗失。借助这一特点,可以拿来测试一些网路设备如路由器,防火墙,交换机等的性能。
要求:两台联网的计算机都安装了。
安装
,or,运行下述命令来安装
yum
,or它的衍生版,运行下述命令来安装
apt
句型
iperf[-s|-chost][]
iperf[-h|–help][-v|–]
参数
默认情况顾客端使用TCP合同
-s:指明是服务器端
-c:指明是顾客端(-c旁边跟服务器端的ip)
-u:指定是udp报文
-b:指定发送带宽大小
-p:指定端口
-h:查看所有参数涵义
示例
注意:
测试之前要配置防火墙,不然会报以下错误
iperf3: error - unable to connect to server: No route to host
在服务器端放行顾客端的ip
iptables -I INPUT 1 -s 192.168.10.11 -j ACCEPT
服务器端:
-s-p9011
顾客端:
-u-c192.168.10.10-b100M-p9011
命令
是一款命令行工具,可用于列举系统上所有的网路套接字联接情况,包括tcp,udp以及unix套接字,另外它能够列举处于窃听状态(即等待接入恳求)的套接字。假如你想确认系统上的Web服务有没有上去,你可以查看80端口有没有打开。
安装
yum*/命令就可以看见提供命令的工具包
,or,运行下述命令来安装
yumnet-tools
,or它的衍生版,运行下述命令来安装
aptnet-tools
句型
[-wx][-A][–ip]
参数
-a或–all显示所有连线中的。
-A或–列出该网路类型连线中的相关地址。
-c或–持续列举网路状态。
-C或–cache显示路由器配置的快取信息。
-e或–显示网路其他相关信息。
-F或–fib显示FIB。
-g或–显示多重广播功能群组班委名单。
-h或–help在线帮助。
-i或–显示网路界面信息表单。
-l或–显示监控中的服务器的。
-M或–显示伪装的网路连线。
-n或–直接使用IP地址,而不通过域名服务器。
-N或–或–显示网路硬件外围设备的符号联接名称。
-o或–显示计时器。
-p或–显示正在使用的程序辨识码和程序名称。
-r或–route显示Table。
-s或–显示网路工作信息统计表。
-t或–tcp显示TCP传输合同的连线状况。
-u或–udp显示UDP传输合同的连线状况。
-v或–显示指令执行过程。
-V或–显示版本信息。
-w或–raw显示RAW传输合同的连线状况。
-x或–unix此参数的疗效和指定"-Aunix"参数相同。
–ip或–inet此参数的疗效和指定"-Ainet"参数相同。
示例
1.列举所有联接
netstat -a
2.只列举TCP或UDP合同的联接
netstat -at #列出所有TCP协议的连接
netstat -au #列出所有UDP协议的连接
3.获取进程名、进程号以及用户ID
netstat -nlpt
4.查看窃听状态的联接
netstat -tuln
输出信息解释
ProtoRecv-QSend-QLocalState
Proto:网路联接的合同,通常就是TCP合同或则UDP合同。Recv-Q:表示接收到的数据,早已在本地的缓冲中,而且还没有被进程拿走。Send-Q:表示从本机发送,对方还没有收到的数据,仍然在本地的缓冲中,不具备ACK标志的数据包。Local:本机的IP地址和端标语。:远程主机的IP地址和端标语。State:状态。常见的状态主要有以下几种。
-:窃听状态,只有TCP合同须要窃听,而UDP合同不须要窃听。
-:早已构建联接的状态。假如使用"-I"选项,则看不到早已构建联接的状态。
-:SYN发起包,就是主动发起联接的数据包。
-:接收到主动联接的数据包。
-:正在中断的联接。
-:早已中断的联接,并且正在等待对方主机进行确认。
-:联接早已中断,而且套接字仍然在网路中等待结束。
-:套接字没有被使用。
在这种状态中,我们最常用的就是和状态,一种代表正在窃听,另一种代表早已联接。
5.复印统计数据
netstat -s
6.显示内核路由信息
netstat -rn
7.复印网路插口
netstat -i
iftop命令
iftop是类似于top的实时流量监控工具。
安装
,or,运行下述命令来安装
yumiftop
毫秒级网络对时器,or它的衍生版,运行下述命令来安装
aptiftop
参数
-i设定检测的网卡,如:#iftop-ieth1
-B以bytes为单位显示流量(默认是bits),如:#iftop-B
-n使host信息默认直接都显示IP,如:#iftop-n
-N使端口信息默认直接都显示端标语,如:#iftop-N
-F显示特定网关的进出流量毫秒级网络对时器,如#iftop-F121.11.1.0/24或#iftop-F121.11.1.0/255.255.255.0
-h(this),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-P使host信息及端口信息默认就都显示;
快捷键
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按N切换显示端标语或端口服务名称;
按D切换是否显示远端目标主机的端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换估算2秒或10秒或40秒内的平均流量;
按l打开屏幕过滤功能,输入要过滤的字符,例如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按1或2或3可以按照右边显示的三列流量数据进行排序;
按q退出监控
示例
iftop -i ens33 -n -P
iftop界面说明:
界面里面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去2s10s40s的平均流量
nload命令
nload是另一种简单易用的命令行工具,用于实时监控网路流量和带宽使用情况。它使用图表来帮助您监控入站和出站流量。据悉,它还显示例如传输数据总数和最小/最大网路使用量等信息。
安装
,or,运行下述命令来安装
yumnload
,or它的衍生版,运行下述命令来安装
aptnload
句型
nload[][]
参数
-i:步入网卡的流量图的显示比列最大值设置,默认10240kBit/s.
-m:不显示流量图,只显示统计数据。
-o:出去网卡的流量图的显示比列最大值设置,默认10240kBit/s.
-t:显示数据的刷新时间间隔,单位是微秒,默认500。
-u:设置右侧Curr、Avg、Min、Max的数据单位,默认是手动变的.注意大小写单位不同!
h|b|k|m|gh:auto,b:Bit/s,k:kBit/s,m:MBit/setc.
H|B|K|M|GH:auto,B:Byte/s,K:kByte/s,M:MByte/setc.
-U:设置右侧Ttl的数据单位,默认是手动变的.注意大小写单位不同(与-u相同)
示例
nload
按Tab键切换网卡
nload默认分为上下两块:
上半部份是:也就是步入网卡的流量,
下半部份是:,也就是从这块网卡出去的流量,
每部份都有当前流量(Curr),
平均流量(Avg),
最小流量(Min),
最大流量(Max),
总和流量(Ttl)这几个部份,看上去还是蛮直观的。
命令
是一种类似于顶尖的基于文本的工具,用于监控Linux系统上运行的每位进程或应用程序的实时网路流量带宽使用情况。它仅提供基于每位进程的网路带宽使用情况的实时统计信息
安装
,or,运行下述命令来安装
yum
,or它的衍生版,运行下述命令来安装
apt
句型
[-h][-V][-d][-v][-t][-c][-p][-s][(s)]
参数
-V:复印版本.
-d:刷新频度.默认1s.
-t:跟踪模式.
-b:模式,隐式.
-p:嗅探在混和模式下(不推荐).
:指定监控网卡设备.
快捷键
m:更改单位
r:按流量排序
s:按发送流量排序
q:退出命令提示符
示例
nethogs
监控多块网卡
nethogs ens33 ens34