【性能测试】系统常用监控--网络


前言

主要介绍性能测试过程中,或在测试前进行环境检查,网络部分常用监控。
通过查看发现收发包的吞吐率达到网卡最大上限,网络数据报文有因为这类原因而引发的丢包、阻塞等现象都证明当前网络可能存在瓶颈。在进行性能测试时为了减小网络的影响,一般都在局域网中进行测试。


一、常用概念

网络主要需要了解:网络配置、TCP/IP协议、网络收发流程、高级路由、网络Qos、网络防火墙、C10K与C100K等相关部分内容。

  1. socket
    socket定义:套接字是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭操作。套接字允许应用程序将IO插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
    在这里插入图片描述

  2. TCP/IP:网际协议群
    用于网络通信的协议集合或者系统。IP或ICMP、TCP或UDP、Telnet或FTP、以及HTTP等都属于TCP/IP协议。TCP/IP协议为互联网而开发定制的协议族,因此TCP/IP就是互联网协议。TCP/IP协议模型就有OSI模型分为7层,一般我们看到是四层TCP/IP协议栈。
    在这里插入图片描述

  3. 网卡
    RDMA(Remote Direct Memory Access),远程直接内存访问,它将数据从一台计算机内存传输到另一台计算机,无需操作系统介入,降低CPU调度。
    在这里插入图片描述

零拷贝(zero copy),网卡可直接与应用内存相互传输数据,从而消除了在应用内存与内核之间复制数据的需要,传输延迟会显著下降。
RoCE(RDMA over Converged Ethernet),目前有RoCEv1和RoCEv2两个版本,10Gb及以上的新型NIC(网络接口卡)和switch都集成了RoCE支持。
IB(InfiniBand),具有高带宽,低延时,高可靠,满足集群无限扩展,但是IB使用成本较高,必须配套专用交换机和线缆。

二、性能指标

吞吐量(BPS、QPS、PPS)、延迟、丢包、TCP重传

三、性能分析

工具或命令:ethtoolsar、ping、netstat/ss、ifstat、ifconfig、tcpdump、wireshark、iptables、traceroute、ipcontrack、perf

模块类型度量方法衡量标准
网络状态1.sar –n DEV收发计数大于网卡上限
2.ifconfig RX/TX带宽超过网卡上限
3.cat /proc/net/dev速率超过上限
4.nicstat的util基本满负荷
1.收发包的吞吐率达到网卡上限
2.有延迟
3.有丢包
4.有阻塞
网络满载1.ifconfig dropped有计数
2.nestat –s “segments retransmited”有计数
3.Sar –n DEV rxdrop txdrop有计数
统计的丢包有计数证明已经满了
网络错误1.ifconfig,“errors”
2.netstat –i,”RX-ERR”/”TX-ERR”
3.sar –n EDEV,”rxerr/s””txerr/s”
4.ip –s link,”errors”
错误有计数

四、调优方法

网卡调优:MTU、队列长度、链路聚合;
协议调优:HTTP、TCP、overlay;
资源控制:Qos;
内核调优:NAT调优、功能卸载、负载均衡、DPDK

五、常用分析

  • sar命令解析
sar -n DEV 2 2	*#网络传输情况,每2秒打印一次,共打印2次*

在这里插入图片描述

sar -n EDEV 2 2	*#网络传输失败情况,每2秒打印一次,共打印2次*

在这里插入图片描述

说明:
DEV:报告网络设备的统计信息
EDEV:报告网络设备的错误统计信息

使用技巧
sar统计输出到指定文件:
sar –n DEV 1 10 –o sar.out

  • 网口详情查询
    通过网口详情查询,可以了解当前组网网口支持最大能力,配合sar命令定位是否已达到网络瓶颈(交换机配置及检查略)
ip addr|grep p6p1
ethtool -i p6p1
lspci |grep Eth
ethtool p6p1

在这里插入图片描述

说明:
1000Mbps=1000000kbps=125Mbytes/sec(下载速度不会超过125MB每秒)
网口信息配置路径:/etc/sysconfig/network-scripts/
重启网口配置:systemctl restart network

在这里插入图片描述

  • 网络带宽限制
    为了满足应用和数据库服务在不同网络场景下性能测试,可以使用linux内核自带tc工具对网口进行限速,参考命令如下:
    添加限速
/sbin/tc qdisc add dev em1 root tbf rate 1mbit latency 50ms burst 30k  #scp带宽约为12.5MB/s
/sbin/tc qdisc add dev em1 root tbf rate 512kbit latency 50ms burst 30k	#scp带宽约为6MB/s

删除限速

/sbin/tc qdisc del dev em1 root tbf rate 1mbit latency 50ms burst 30k

在这里插入图片描述

说明:
burst 桶的大小
指定了最多可以有多少令牌能够即刻使用,若令牌数量不够可能会导致网口不可用,通过重启服务器解决。
mbps和MB/s单位转换
Mbps(Mb/s):每秒传输的位数量(b:bit)
MB/s:每秒传输的字节数量(B:Byte)
1Byte=8bit,8Mbps=1MB/s

  • 网口极限带宽压测
    前体条件:
    1、已安装好对应平台iperf工具
    2、选取两台设备,一台做client,另一台做server
    执行压测
    Server侧:iperf -s -p 5001

在这里插入图片描述

Client侧:iperf -c 192.168.2.29 -t 20 -i 5 -P 4
在这里插入图片描述

参数说明:
-c :客户端,-s:服务器,-p:监听端口,-t:测试时间,-i:打印间隔,-P:并发数

结果说明:
网口为万兆网卡,最大传输带宽为9.41Gb/s≈1.18GB/s,网卡处理大包实际能力为网口能力的80% ~ 90%
在这里插入图片描述

  • tcpdump抓包
    tcpdump是linux系统自带抓包工具,可抓多种协议类型的包,获取的包可以用wireshark等工具进行解析。
tcpdump tcp -i p6p1 -s 0 port 53221 -w ./target.cap    #将数据存储到指定路径
tcpdump -i p6p1 -c5 -nn -X port 54321    #抓指定端口包,计数5次

在这里插入图片描述
在这里插入图片描述

  • 网口监控
    监控总体带宽使用:vnstat、ifstat、dstat、collectl
    每个套接字连接的带宽使用:iftop、iptraf、tcptrack、pkstat、netwatch、trafshow
    每个进程带宽使用:nethogs
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值