首页 > 其他分享 >性能测试网络瓶颈分析

性能测试网络瓶颈分析

时间:2022-10-26 00:13:39浏览次数:85  
标签:此键 显示 界面 iftop 瓶颈 性能 流量 网卡 测试

iftop 是什么

在 Linux 系统下即时监控服务器的网络带宽使用情况,有很多工具,比如 iptraf、nethogs 等等,但是推荐使用小巧但功能很强大的 iftop 工具。

iftop 是 Linux 系统一个免费的网卡实时流量监控工具,类似于 top 命令。iftop 可以监控指定网卡的实时流量、端口连接信息、反向解析 IP 等,还可以精确显示本机网络流量及网络内各主机和本机相互通信的流量集合,非常适合于监控代理服务器或路由器的网络流量。

同时,iftop 对检测流量异常的主机非常有效,通过 iftop 的输出可以迅速定位主机流量异常的根源,这对于网络故障排查、网络安全检测是十分有用的。缺点就是无报表功能,且必须以 root 身份才能运行

安装

1、通过软件管理工具安装

# CentOS
$ sudo yum install iftop

# Ubuntu
$ sudo apt install iftop

 

2.通过源代码编译安装

# 安装比较软件包
$ sudo um install libpcap libpcap-devel ncurses ncurses-devel flex byacc

# 下载软件包
$ wget "http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz"
$ tar zxvf iftop-0.17.tar.gz
$ cd iftop-0.17
$ ./configure
$ make && make install

常用参数

-i 指定需要检测的网卡, 如果有多个网络接口,则需要注意网络接口的选择,如:# iftop -i eth1
-B 将输出以 byte 为单位显示网卡流量,默认是 bit
-n 将输出的主机信息都通过 IP 显示,不进行 DNS 解析 
-N 只显示连接端口号,不显示端口对应的服务名称
-F 显示特定网段的网卡进出流量  如: iftop -F 192.168.85.0/24
-h 帮助,显示参数信息
-p 以混杂模式运行 iftop,此时 iftop 可以用作网络嗅探器
-P 显示主机以及端口信息
-m 设置输出界面中最上面的流量刻度最大值,流量刻度分 5 个大段显示  如:# iftop -m 100M
-f 使用筛选码选择数据包来计数  如 iftop -f filter code
-b 不显示流量图形条
-c 指定可选的配置文件,如:iftop  -c config file
-t 使用不带 ncurses 的文本界面,
    以下两个是只和 -t 一起用的:
    -s num num 秒后打印一次文本输出然后退出,-t -s 60 组合使用,表示取 60 秒网络流量输出到终端
    -L num 打印的行数
-f 参数支持 tcpdump 的语法,可以使用各种过滤条件。

 

界面操作

1、界面信息
安装完 iftop 工具后,直接输入 iftop 命令即可显示网卡实时流量信息。在默认情况下,iftop 显示系统第一块网卡的流量信息,如果要显示指定网卡信息,可通过“-i”参数实现。执行“iftop -P -i eth0”命令,得到如下图所示的 iftop 的一个典型输出界面。

  • 第一部分
    iftop 输出中最上面的一行,此行信息是流量刻度,用于显示网卡带宽流量。

  • 第二部分
    此部分为分割线中间的部分,其中又分别分为左、中、右三列。左列和中列,记录了哪些 IP 或主机正在和本机的网络进行连接。其中,中列的“=>”代表发送数据,“<=”代表接收数据,通过这个指示箭头可以很清晰地知道两个 IP 之间的通信情况。最右列又分为三小列,这些实时参数分别表示外部 IP 连接到本机 2 秒内、10 秒内和 40 秒内的平均流量值。
    另外,这个部分还有一个流量图形条,流量图形条是对流量大小的动态展示,以第一部分中的流量刻度为基准。通过这个流量图形条可以很方便地看出哪个 IP 的流量最大,进而迅速定位网络中可能出现的流量问题。

  • 第三部分
    位于 iftop 输出的最下面,可以分为三行,其中,“TX”表示发送数据,“RX”表示接收数据,“TOTAL”表示发送和接收全部流量。与这三行对应的有三列,其中“cum”列表示从运行 iftop 到目前的发送、接收和总数据流量。“peak”列表示发送、接收以及总的流量峰值。“rates”列表示过去 2s、10s、40s 的平均流量值。
    在这里插入图片描述
    2.交互操作
    在 iftop 的实时监控界面中,还可以对输出结果进行交互式操作,用于对输出信息进行整理和过滤,在上图所示界面中,按键 “h” 即可进入交互选项界面,如下图所示。iftop 的交互功能和 Linux 下的 top 命令非常类似,交互参数主要分为 4 个部分,分别是一般参数、主机显示参数、端口显示参数和输出排序参数。相关参数的含义如下表所示。

参数      含义
P        通过此键可切换暂停/继续显示
h        通过此键可在交互参数界面/状态输出界面之间来回切换
b        通过此键可切换是否显示平均流量图形条
B        通过此键可切换显示2秒、10秒、40秒内的平均流量
T        通过此键可切换是否显示每个连接的总流量
j/k      按j键或k键可以向上或向下滚动屏幕显示当前的连接信息
l        通过此键可打开iftop输出过滤功能,比如输入要显示的IP,按回车后,屏幕就只显示与这个IP相关的流量信息
L        通过此键可切换显示流量刻度范围,刻度不同,流量图形条会跟着变化
q        通过此键可退出iftop流量监控界面
n        通过此键可使iftop输出结果以IP或主机名的方式显示
s        通过此键可切换是否显示源主机信息
d        通过此键可切换是否显示远端目标主机信息
t        通过此键可切换iftop显示格式,连续按此键可依次显示:以两行显示发送接收流量、以一行显示发送接收流量、只显示发送流量/接收流量
N        通过此键可切换显示端口号/端口号对应服务名称
S        通过此键可切换是否显示本地源主机的端口信息
D        通过此键可切换是否显示远端目标主机的端口信息
p        通过此键可切换是否显示端口信息
1/2/3    根据最近 2 秒、10 秒、40 秒的平均网络流量排序
<        通过此键可根据左边的本地主机名或IP地址进行排序
>        通过此键可根据远端目标主机的主机名或IP地址进行排序
o        通过此键可切换是否固定显示当前的连接

 

使用示例

1.显示网卡 eth0 的信息,主机通过 ip 显示

$ iftop -i eth0 -n

2.显示端口号(添加 -P 参数,进入界面可通过 p 参数关闭)

$ iftop -i eth0 -n -P

3.显示将输出以 byte 为单位显示网卡流量,默认是 bit

$ iftop -i eth0 -n -B

4.显示流量进度条

## 进入界面后按下 L 
$ iftop -i eth0 -n

5.显示每个连接的总流量

## 进入界面后按下 T
$ iftop -i eth0 -n

6.显示指定 ip 172.17.1.158 的流量

##进入界面后按下 l 后,再输入 172.17.1.158 并回车)
$ iftop -i eth0 -n

实战

下面我们将通过找出最费流量的 IP 和端口号这一具体实例,来演示 iftop 强大的功能。
1.进入界面

$ iftop -i eth0 -nNB -m 10M
  • -i 指定网卡,
  • -n 代表主机通过ip显示不走DNS
  • -N 只显示连接端口号,不显示端口对应的服务名称(不加会显示如ssh这样的服务名称,不便于排查)
  • -B 指定显示单位为Kb,默认是bit,太小!
  • -m 设置输出界面中最上面的流量刻度最大值,流量刻度分5个大段显示

进入后界面如下:
在这里插入图片描述
2.按下 L 显示流量刻度
L 参数直接显示进度条,方便人类阅读。
在这里插入图片描述
3.按下 T 显示总量
有个总数统计,看着方便!
在这里插入图片描述
4.按下 3,根据最近 40s 统计排序
用平均值来统计最权威点
在这里插入图片描述
5.按下 t,发送和接受合成一行
在这里插入图片描述
6.多按几次 B,查看最近 2s、10s、40s 的统计
在这里插入图片描述
没错,图中的 172.17.1.158 就是我们找到的流量用得最多的 IP

7.筛选指定 IP 172.17.1.158
按下 l, 输入172.17.1.158,出现如下
在这里插入图片描述
回车后生效
在这里插入图片描述
这下就只看到这个 IP 的流量监控了

8.找到这个 IP 哪个端口流量用得最多
按下 p, 根据端口号显示
在这里插入图片描述

参考链接 :

Linux 网络流量监控利器 iftop 中文入门指南 :https://mp.weixin.qq.com/s/NYsE1Oe8G3IanMw1p9_GUA

标签:此键,显示,界面,iftop,瓶颈,性能,流量,网卡,测试
From: https://www.cnblogs.com/kxtomato/p/16826888.html

相关文章

  • 性能测试io瓶颈分析
    一、iotop简介iotop是一个类似top的工具,用来显示实时的磁盘活动。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况。iotop监控Linux内核输出......
  • 网站抓包到接口测试超细教程 电脑PC端教程
    一、为什么要抓包1、从功能测试角度通过抓包查看隐藏字段2、通过抓包工具了解协议内容方便开展接口和性能测试3、需要通过抓包工具,检查数据加密4、处理前后端bug归......
  • hive课堂测试2
    2、数据分析:在HIVE统计下列数据。(1)统计最受欢迎的视频/文章的Top10访问次数(video/article)(2)按照地市统计最受欢迎的Top10课程(ip)(3)按照流量统计最受欢迎的Top10课程(traf......
  • webUI自动化测试框架
    一、设计思路框架采用python3+yaml+po+unittest+HTMLTestRunner等技术编写的UI自动化测试框架1.使用PageObject模式将页面定位和业务操作分开,分离测试对象(元素对象)和测......
  • APP自动化效果测试工具
    1.背景项目测试过程中经常需要在手机端体验语音产品的识别效果和稳定性,识别效果与手机硬件强相关无法抛开硬件影响。因此开发了一套基于uiautomator2+pythonUI自动化工具,......
  • 影响虚拟主机性能的因素
    ​无论您的虚拟主机的应用程序或优势如何,它都必须依赖于您提供的资源。在这种情况下,通常会遇到瓶颈和性能问题,从而破坏您的运营生产力。通常,这些瓶颈会给团队带来挑战,因......
  • 【测试全栈化--前端学习】(16)input属性提交和重置
    在第15课,我们学习了HTML中<form>属性里的inputtype里name和value属性。value属性值其实还没有说的特别清楚,再继续说下。这里请输入用户名和密码里的值,就是value值,可以在......
  • 软件测试工程师需要具备哪些能力
    作为已经在软件测试行业很多年的从业者,见证了测试这个技术行业,从最开始基本的手工测试,简单的性能测试等,到目前比较主流的自动化测试,性能测试,接口测试占据了测试的半壁江山。......
  • 22-22-企业级百万并发高性能网关设计与实践_ev
      网关的作用:1.统一入口,隐藏内部细节2.通用功能3.过滤,转发                                ......
  • 模糊测试工具AFL源码浅析
    前言AFL是一款著名的模糊测试的工具,最近在阅读AFL源码,记录一下,方便以后查阅。环境项目:AFL编译项目:将编译的优化选项关闭,即改写成-O0afl-gcc.c使用gdb加载afl-......