linux 测试网络速率

1. ethtool

        ethtool是很强大的查询网卡(嵌入式称为phy芯片)配置的工具,几乎phy芯片芯片手册寄存器能配置的选项,ethtool都能查询到;嵌入式调试phy芯片的时候经常用到该命令;最简单的指令如下

ethtool eth0(要查看速率的网卡)
#打印网卡信息
Settings for eth0:Supported ports: [ TP AUI BNC MII FIBRE ]Supported link modes:   10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/FullSupports auto-negotiation: YesAdvertised link modes:  10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/FullAdvertised auto-negotiation: YesSpeed: 1000Mb/sDuplex: FullPort: MIIPHYAD: 1Transceiver: externalAuto-negotiation: onCurrent message level: 0x00000007 (7)Link detected: yes

        这段信息已经包含了phy的很多配置信息:

        phy芯片支持的端口,支持的链接模式;

        网络自适配是否打开,工作模式(全双工,半双工),速率等信息;

        这里的Speed: 1000Mb/s只能说明phy芯片最大速率能达到1000Mb/s;实际速率还需要进行测试;

        phy芯片一般分为10base,100base,1000base;Speed: 1000Mb/s能说明网卡处于1000base模式,实际速率相差不多;

2. iperf

        实测网络速率的工具,分为客户端和服务端,两端进行数据发送实时计算网络速率并打印:

# 服务器端
$ iperf -s
# 客户端
$ iperf -c <server_ip>

        打印信息:

/mnt/zhangliming/iperf # ./iperf3 -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.0.221, port 53640
[  5] local 192.168.0.221 port 5201 connected to 192.168.0.221 port 53642
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   868 MBytes  7.28 Gbits/sec
[  5]   1.00-2.00   sec   904 MBytes  7.58 Gbits/sec
[  5]   2.00-3.00   sec   923 MBytes  7.74 Gbits/sec
[  5]   3.00-4.00   sec   883 MBytes  7.41 Gbits/sec
[  5]   4.00-5.00   sec   915 MBytes  7.68 Gbits/sec
[  5]   5.00-6.00   sec   929 MBytes  7.79 Gbits/sec
[  5]   6.00-7.00   sec   907 MBytes  7.61 Gbits/sec
[  5]   7.00-8.00   sec   908 MBytes  7.62 Gbits/sec
[  5]   8.00-9.00   sec   938 MBytes  7.86 Gbits/sec
[  5]   9.00-10.00  sec   929 MBytes  7.80 Gbits/sec
[  5]  10.00-10.00  sec   768 KBytes  6.68 Gbits/secBitrate字段就是现在的实际速率; Transfer:在某时间间隔内的传输的数据量;上面打印可知,时间间隔为1s;所以和Bitrate一样代表传输速率
各字段含义如下:
ID:连接的唯一标识符或ID号。
Interval:报告状态或统计信息的时间间隔。
Transfer:在报告的时间间隔内传输的数据量。
Bitrate:报告的时间间隔内的传输速率(以位/秒为单位)。
Retr:在报告的时间间隔内发生的重新传输次数。
Cwnd:当前拥塞窗口的大小(单位未定义,通常是报告的时间间隔内的平均值)。

        注意:iperf在文件系统中可能不存在该命令,需要下载源码进行移植!

3.程序测试

        当然也可以自己写一个网络程序来对网络速率进行计算;计算出1s内接收多少Bytes;就是当前网络的速率;和iperf的原理一样;

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

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

相关文章

函数——递归3(c++)

求10097……41的值 问题描述 求 10097 ⋯ 41 的值。 输入 无。 输出 输出一行&#xff0c;即求到的和。 #include <bits/stdc.h> using namespace std; int aaa(int,int,int); int main() {cout<<aaa(1,100,0);return 0; } int aaa(int i,int n,int sum) {if…

Pandas 合并DataFrame中一行的所有字符串

import pandas as pd df pd.DataFrame({ col1: [Hello, World, ], col2: [from, of, the], col3: [Pandas, Data, World], col4: [!, !, !] }) # 自定义一个函数来合并一行的所有字符串&#xff0c;接收一行数据作为输入 def merge_row_strings(row): # 使用join方…

YOLOV8改进系列指南

基于Ultralytics的YOLOV8改进项目.(69.9) 为了感谢各位对V8项目的支持,本项目的赠品是yolov5-PAGCP通道剪枝算法.具体使用教程 专栏改进汇总 二次创新系列 ultralytics/cfg/models/v8/yolov8-RevCol.yaml 使用(ICLR2023)Reversible Column Networks对yolov8主干进行重设计,里…

Go应用性能分析实战

Go很适合用来开发高性能网络应用&#xff0c;但仍然需要借助有效的工具进行性能分析&#xff0c;优化代码逻辑。本文介绍了如何通过go test benchmark和pprof进行性能分析&#xff0c;从而实现最优的代码效能。原文: Profiling Go Applications in the Right Way with Examples…

【Vuforia+Unity】AR03-圆柱体物体识别

1.创建数据库模型 这个是让我们把生活中类似圆柱体和圆锥体的物体进行AR识别所选择的模型 Bottom Diameter:底部直径 Top Diameter:顶部直径 Side Length:圆柱侧面长度 请注意&#xff0c;您不必上传所有三个部分的图片&#xff0c;但您需要先为侧面曲面关联一个图像&#…

工具分享:在线键盘测试工具

在数字化时代&#xff0c;键盘作为我们与计算机交互的重要媒介之一&#xff0c;其性能和稳定性直接影响到我们的工作效率和使用体验。为了确保键盘的每个按键都能正常工作&#xff0c;并帮助用户检测潜在的延迟、连点等问题&#xff0c;一款优质的在线键盘测试工具显得尤为重要…

Java后端底座从无到有的搭建(随笔)

文章目录 开发模式的演变草创时期1.0时期&#xff08;基座时期&#xff09;1.1时期&#xff08;低代码时期&#xff09;2.0时期&#xff08;无代码时期&#xff09; 前言&#xff1a;本文是笔者在初创公司&#xff0c;一年多来Java后端服务底座搭建过程的总结&#xff0c;如有不…

访问网站被限制

访问网站被限制是指在某些情况下&#xff0c;用户无法正常访问特定的网站或者网页。这种限制可能是由多种原因引起的&#xff0c;包括以下几个方面&#xff1a; 网络层面的限制&#xff1a;有些网站可能被网络服务提供商&#xff08;ISP&#xff09;或者网络管理员屏蔽&#xf…

四旋翼无人机控制-零散笔记整理

四旋翼无人机控制-零散笔记整理 说明仿真框架 说明 这是低创文章&#xff0c;本意是整理本科留下来的一堆零碎的纸质笔记&#xff0c;整理完就把纸质的扔了。所以前后不连贯&#xff0c;也可能有错误&#xff0c;图片都是直接拍的笔记照片&#xff0c;很丑。如果想系统学习的可…

【C++】STL- > string类(超详解!!!)

文章目录 前言1、string类的出现1.1 C语言中的字符串1.2 平时使用 2. 标准库中的string类2.1 string类的常用文档&#xff08;重要&#xff09;&#xff01;&#xff01;&#xff01;&#xff01;2.2 string类的常用接口说明(接口原型我这里就不展示了&#xff0c;文档中都有可…

前后端分离(delivery-management)部署文档

1. 前端项目:delivery-management 1.1. 前端项目打包 执行命令:npm run build 或者yarn run build,生成dist目录。 构建流程如下图: 1.2. 文件上传 将打包好的前端项目(dist目录),上传到服务器,并拷贝到nginx安装目录html目录下。 执行上传命令(sftp):put -r E:\…

展示用HTML编写的个人简历信息

展示用HTML编写的个人简历信息 相关代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document…

MySQL中Binlog日志的使用

一、Binary Log介绍 MySQL 的二进制日志&#xff08;Binary Log&#xff09;是一种记录数据库更改操作的日志文件&#xff0c;它包含了所有对数据库执行的插入、更新、删除等操作的详细信息。二进制日志是 MySQL 数据库系统的核心组件之一&#xff0c;具有以下特点和作用&…

Go 语言一些常用语法编写和优化指南

Go 语言以其简洁的语法和强大的并发性能而受到开发者的喜爱。然而&#xff0c;为了充分利用 Go 的潜力&#xff0c;我们需要了解如何优化 Go 程序。本文将介绍一些常见的 Go 语言优化技巧&#xff0c;并通过实际例子进行说明。 ## 1. 利用 sync.Pool 减少内存分配 在 Go 中&a…

Windows 自带的 Linux 子系统(WSL)安装与使用

WSL官网安装教程&#xff1a; https://learn.microsoft.com/zh-cn/windows/wsl/install Windows 自带的Linux子系统&#xff0c;比用VM什么的香太多了。可以自己看官方教程&#xff0c;也可以以下步骤完成。 如果中间遇到我没遇到的问题百度&#xff0c;可以在评论区评论&#…

Redis(03)——发布订阅

基础命令 基于频道 publish channel message&#xff1a;将信号发送到指定的频道pubsub subcommand [argument [argyment]]&#xff1a;查看订阅或发布系统状态subscribe channel [channel]&#xff1a;订阅一个或多个频道的信息unsubscribe [channel [channel]]&#xff1a;退…

Java——Stream流的学习

在开发过程中&#xff0c;经常或忽略流的使用&#xff0c;导致用的不熟练&#xff0c;于是抽时间系统的学习下stream的使用&#xff0c;找了哔哩哔哩的教程跟着看看练练。 准备工作 创建Book、Aurhor实体类&#xff0c;初始化数据 public static List<Author> getAuth…

【Go语言最佳实践:永远不要启动一个停止不了的 goroutine】

前面的例子显示当一个任务时没有必要时使用 goroutine。但使用 Go 语言的原因之一是该语言提供的并发功能。实际上&#xff0c;很多情况下你希望利用硬件中可用的并行性。为此&#xff0c;你必须使用 goroutines。 这个简单的应用程序在两个不同的端口上提供 http 服务&#x…

解锁文档处理新境界:ONLYOFFICE编辑功能为开发者带来新机遇

引言 ONLYOFFICE最新发布的文档8.0版本带来了一系列引人注目的功能和优化&#xff0c;为用户提供了更强大、更高效的在线编辑体验。这次更新涵盖了多个方面&#xff0c;包括PDF表单、RTL支持、单变量求解、图表向导以及插件界面设计更新等。这些新功能不仅提升了文档处理的便利…

day 22

时间获取: 1.time time_t time(time_t *tloc); 功能: 返回1970-1-1到现在的秒数&#xff08;格林威治时间&#xff09; 参数: tloc:存放秒数空间首地址 返回值: 成功返回秒数 失败返回-1 2.localtime struct …