硬件性能 - 网络瓶颈分析

简介

本文章主要通过Linux命令查看网络信息、判断是否出现网络瓶颈等简单分析方法。其他硬件性能分析如下:

1. 硬件性能 - CPU瓶颈分析

2. 硬件性能 - 掌握内存知识

3. 硬件性能 - 磁盘瓶颈分析

目录

1. 监控命令 sar

2. 带宽利用率

3. 网络延迟

4. 网络连接数

5. 模拟网络故障


 

1. 监控命令 sar

sar 命令实时查看网络情况(详细命令:Linux性能监控命令_sar & 自动保存30天历史信息)

# 监控网卡信息
sar -n DEV 间隔时间 监控次数# 监控网卡异常信息
sar -n EDEV 间隔时间 监控次数# 查看历史信息(06表示本月6号,只保存1个月信息)
sar -f /var/log/sa/sa06 -n DEV

 

每1秒输出一次网卡信息

IFACE   :网卡名
rxpck/s :每秒接收的包
txpck/s :每秒发送的包
rxkB/s  :每秒接收的大小(单位 KB)
txkB/s  :每秒发送的大小(单位 KB)
rxcmp/s :每秒接收的压缩包
txcmp/s :每秒发送的压缩包
rxmcst/s:每秒接收的多播包

 

每1秒输出一次网卡异常信息

IFACE   :网卡名
rxerr/s :每秒接收错误的数量
txerr/s :每秒发送错误的数量
coll/s  :每秒发生冲突的数量
rxdrop/s:每秒接收丢弃的数据包数量
txdrop/s:每秒发送丢弃的数据包数量
txcarr/s:每秒发送信号载波的数量
rxfram/s:每秒接收帧错误的数量
rxfifo/s:每秒接收的FIFO错误数量
txfifo/s:每秒发送的FIFO错误数量
txcomp/s:每秒传输完成的数量

 

 

2. 带宽利用率

        监测带宽利用率可以清晰知道系统当前网络传输的整体效率。如果带宽利用率接近100%,可能意味着已经达到带宽瓶颈。

由于没有命令可以直接查看带宽利用率,我们可以用 sar 的监控结果计算,公式如下:

(接收大小 + 发送大小) / 最大传输 * 100

 

接收大小 (rxkB/s) 和发送大小 (txkB/s) 如 sar 监控结果:

sar -n DEV 1

 

传输大小查看方法

1. 先根据自己的 IP 找到网卡名

ip a

2. 在查看网卡的带宽(传输大小)

ethtool 网卡名

 

根据我们刚才的结果来计算

每秒接收大小:563.63 KB
每秒发送大小:1014.05 KB
最大传输大小:1000Mb/s 换算成KB:(1000/8)*1024=128000 KB
  • 单位换算:1MB = 8Mb,1MB = 1024KB

按公式计算(乘以100是为了代入百分号)

( 563.63 + 1014.05 ) / 128000 * 100 = 1.23%

从结果来看,利用率非常低,无性能瓶颈

        当然了,如果觉得计算不方便,可以直接看发送和接收的大小是否接近最大传输。以千兆网络为例:(1000/8)*1024=128000 KB,只需要看发送和接收大小相加是不是接近 128000 即可。如果接近这个值,说明可能存在网络瓶颈;如果相差较远,则没有网络瓶颈。

 

 

3. 网络延迟

        除了带宽利用率,网络延迟也是衡量传输性能的指标之一。您可以使用工具如ping、traceroute 或者 mtr 来评估网络延迟和响应时间。如果网络延迟较高或响应时间不稳定,可能表示网络传输达到了瓶颈。

使用 ping 命令,查看另一个网络是否通畅

icmp_seq:发出ICMP回显请求
ttl     :数据包的生存时间
time    :从发送 ICMP 请求到接收到回应所花费的往返时间
# 最后一行
发送3包,接收3包,0%丢包,时间2060ms

从ping命令分析网络

  1. 较高的往返时间:当 ping 命令输出中的往返时间较高时,表示从发送请求到接收响应所需的时间较长。一般来说,正常的往返时间应该在几毫秒或几十毫秒内。当往返时间超过100毫秒或更高时,可以认为存在网络延迟问题。

  2. 延迟波动较大:ping 命令的输出中,每次往返时间的变化应保持相对稳定。如果出现明显的波动,例如从几毫秒突然跳到几百毫秒,或者时间间隔内的方差较大,那么这可能是网络连接存在延迟问题的迹象。

  3. 丢包率较高:在 ping 命令输出中,丢失的 ICMP 请求百分比(packet loss)较高,即未收到响应的请求占总请求数的比例较大时,可能是由于网络延迟导致请求无法到达目标主机或无法返回响应。

 

结合 watch 命令实时查看是否丢包(Ctrl + C 退出)

# 每3秒发送1个包
watch -n 3 ping -c 1 IP地址

   

 

4. 网络连接数

        如果网络传输达到瓶颈,可能会导致网络连接的延迟增加或连接失败。当连接请求到达系统时,如果队列已满,新的连接请求将被拒绝。将会导致网络延迟增加、带宽利用率降低等问题。

         连接数仅仅只能初步估计网络瓶颈,还需要考虑系统负载、带宽利用率、网络设备的能力等都可能对网络性能产生影响。更深入的网络性能分析和故障排除通常需要结合其他工具和指标来进行。

查看系统套接字最大连接数(默认128)

sysctl net.core.somaxconn

查看当前系统连接数

netstat -ant | grep ESTABLISHED | wc -l

   

 

5. 模拟网络故障

tc 命令模拟网络故障

# 模拟延迟100ms
sudo tc qdisc add dev 网卡名 root netem delay 100ms# 模拟丢包率10%
sudo tc qdisc change dev 网卡名 root netem loss 10%# 模拟网络延迟100ms,带宽限制为1Mbps
sudo tc qdisc add dev 网卡名 root handle 1:0 netem delay 100ms rate 1mbit# 模拟网络抖动,延迟100ms ± 50
sudo tc qdisc add dev 网卡名 root handle 1:0 netem delay 100ms 50ms distribution normal# 还原网络设置
sudo tc qdisc del dev 网卡名 root

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/13376.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云原生之深入解析K8S Istio Gateway服务的架构分析与实战操作

一、概述 Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控、网关等功能,而不需要对服务的代码做任何改动。 istio 适用于容器或虚拟机环境(特别是 k8s),兼容异构架构&#x…

MV-Map论文研读

MV-Map MV-Map: Offboard HD-Map Generation with Multi-view Consistency 论文:https://arxiv.org/pdf/2305.08851.pdf code:https://github.com/ZiYang-xie/MV-Map 代码未开源 总体网络结构 简述 论文首次提出以非车载的方式产生高精度地图。可以…

5、加载3dtileset模型并定位到模型

这一节使用CCesium加载3dtiles模型,3dtiles模型使用ceisum官网示例中的模型,加载3dtiles功能目前只能添加没有压缩的模型,draco或其他解压缩功能没有写。 1、在上一个例子的基础上,将鼠标事件改成右键的鼠标事件Cesium::ScreenSp…

一篇文章让你搞懂指针笔试题(加深对指针的理解)

指针笔试题 笔试题1 #include<stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));//程序的结果是什么&#xff1f;return 0; }给定一个数组a&#xff0c;当我们取地址a的时候&#xff0c…

网络关键设备和网络安全专用产品目录-2023年7月

2023年7月3日&#xff0c;网络关键设备和网络安全专用产品目录&#xff08;一级&#xff09;终于更新了&#xff0c;增加到38类&#xff0c;大家想了解每类产品对应哪家检测机构、以及涉及相关的标准、分解的二级产品目录&#xff0c;可以联系龙域认证客服。 一、网络关键设备…

【spring源码系列-06】refresh中obtainFreshBeanFactory方法的执行流程

Spring源码系列整体栏目 内容链接地址【一】spring源码整体概述https://blog.csdn.net/zhenghuishengq/article/details/130940885【二】通过refresh方法剖析IOC的整体流程https://blog.csdn.net/zhenghuishengq/article/details/131003428【三】xml配置文件启动spring时refres…

vscode里vue文件内<template>标签报错

发现只要把文件名使用驼峰命名法&#xff0c;把Login.vue改为LoginView.vue就不报错了加个大写的View就没有了。 官方参考文档&#xff1a;vue/multi-word-component-names | eslint-plugin-vue

MySQL库表的简单操作

1.创建数据Market&#xff0c;在数据库中创建表customers&#xff0c;表结构如图 (1)创建数据库Market create database Market&#xff1b; (2)创建数据表customers&#xff0c;在c_num字段添加主键约束&#xff0c;c_birth字段上添加非空约束 create table customers&#…

基于stm32单片机的智能家居环境监控系统

​一.硬件方案 智能家居环境监控系统的整体电路主要由stm32单片机最小系统&#xff0c;光MQ-2烟雾传感器电路&#xff0c;红外人体检测电路&#xff0c;DS18B20温度传感器&#xff0c;LCD1602显示电路&#xff0c;水泵驱动电路&#xff0c;风扇驱动电路&#xff0c;LED指示灯&…

【EXCEL】给数据添加图表(数据条、柱状图、折线图等),快速分析功能图文详解

目录 0.环境 1.背景简介 2.具体实现 2.1 给数据添加数据条 实现效果&#xff1a; 具体操作&#xff1a; 2.2 给数据添加柱状图图表 实现效果&#xff1a; 具体操作&#xff1a; 2.3 给数据添加迷你图&#xff08;在表格中的折线图&#xff09; 实现效果&#xff1a; …

UNI-APP_vmin横屏适配问题

vmax和vmin vmax 相对于视口的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vmax vmin 相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vmin当竖屏布局时750rpx是竖屏布局屏幕的宽度 vmin不管横竖屏的情况下&#xff0c;100vmin都是手机屏幕…

Claude使用教程,解决Claude不能回复

Claude是ChatGPT最为有⼒的竞争对⼿之⼀&#xff0c;Claude 的研发公司是专注人工智能安全和研究的初创公司 Anthropic&#xff0c;由前 OpenAI 员工共同创立的。今年 3 月份 Anthropic 获得了谷歌 3 亿美元的投资&#xff0c;谷歌也因此获得其 10% 股份。 ⽬前可以通过官⽹加…