首页 > 其他分享 >随笔-调试-常用命令零散记录 2 网络工具

随笔-调试-常用命令零散记录 2 网络工具

时间:2023-10-16 19:33:41浏览次数:44  
标签:网络工具 常用命令 value cost awk dev time print 随笔

【1】测量两点之间的带宽 iperf

测试是否千兆:

服务端:iperf -s -u -p 22345 -i 1
客户端:iperf -c 10.10.2.58 -p 22345 -i 1 -t 60 -b 1000M -u

【2】net_stat.sh

#!/bin/bash

deviation=0
if_name=$1

rx_bit=
tx_bit=

[[ -z "$if_name" ]] && {
    echo "usage: $0 [if_name]"
    exit -1
}

function deviation_calc() {
    local sum=0
    local dev_value

    for i in {1..20}; do
        dev_value=0.000000001

        curr_time=$(date +%s.%N)
        dev_value=$(awk 'BEGIN{print "'$curr_time'"+1-"'$(date +%s.%N)'"-"'$dev_value'"}')
        cost_time=$(date +%s.%N)
        cost_time=$(awk 'BEGIN{print "'$cost_time'"-"'$curr_time'"}')

        sum=$(awk 'BEGIN{print "'$sum'"+"'$cost_time'"}')
    done

    dev_value=$(awk 'BEGIN{print "'$sum'"/20}')
    echo $dev_value
}

function net_usage_total() {
    local dev=$1
    local rx_tx

    [[ -z "$dev" ]] && exit -1

    rx_tx=($(awk '/^\s*'$dev':/{print $2,$10}' <<< "$(cat /proc/net/dev)"))

    prev_rx_bit=$rx_bit
    rx_bit=${rx_tx[0]}

    prev_tx_bit=$tx_bit
    tx_bit=${rx_tx[1]}


    [[ -z "$prev_rx_bit" || -z "$prev_tx_bit" ]] && {
        return
    }

    delta_rx=$(bc <<< "($rx_bit-$prev_rx_bit)*8/1024/1024")
    delta_tx=$(bc <<< "($tx_bit-$prev_tx_bit)*8/1024/1024")

    echo "dev=$dev RX: ${delta_rx}Mb   TX: ${delta_tx}Mb"
}

deviation=$(deviation_calc)
echo "deviation: $deviation"

# 网络带宽统计
while true; do
    curr_time=$(date +%s.%N)
    net_usage_total $if_name
    sleep $(awk 'BEGIN{print "'$curr_time'"+1-"'$(date +%s.%N)'"-"'$deviation'"}')
done

标签:网络工具,常用命令,value,cost,awk,dev,time,print,随笔
From: https://www.cnblogs.com/stellar-liyanbin/p/17768177.html

相关文章

  • MySQL常用命令
    登录MySQL控制台:mysql-uusername-p:使用指定用户名登录MySQL,系统将提示输入密码mysql-hhost-uusername-p:使用指定主机、用户名登录MySQL,系统将提示输入密码quit或\q:退出控制台常见的SQL命令:CREATEDATABASEdbname;:创建名为dbname的数据库DROPDATABASEdbname;......
  • 随笔
    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/23rjjsjc 这个作业的目标建立属于自己的博客,介绍自己以及表达对课程的期待姓名-学号王宏杰-2021330301087我是浙江理工大学电气工程及其自动化专业的学生,很高兴有机会向大家介绍我自己。我叫王宏杰,来自浙江台州,是......
  • Linux常用命令
    一、入门步骤1、下载安装虚拟机VMware2、在虚拟机VMware上安装系统可以安装任何系统(Windows、Linux、mac等)LinuxCentOS做练习3、[root@ryan~]#认识提示符o [用户@计算机名当前目录]#o ~表示在访问root目录/表示根目录o #表示超级用户o $普通用户......
  • yarn的常用命令
    yarn的常用命令:yarn-v//查看yarn版本yarnconfiglist//查看yarn配置yarnconfiggetregistry//查看当前yarn源//修改yarn源(此处为淘宝的源)yarnconfigsetregistryhttps://registry.npm.taobao.org//yarn安装依赖yarnadd包名//局部安......
  • 【Dotnet篇】Dotnet CLI常用命令
    dotnet--list-sdks//列出已经安装的sdk版本信息dotnet--list-sdksdotnet--list-runtimes//列出已经安装的运行时版本信息dotnet--list-runtimesdotnetnugetlistsource//这会列出当前配置的所有NuGet包源。dotnetnugetlistsource//添加新的NuGet包源do......
  • java——redis随笔——实战——商户查询缓存
                      把key做了下代码优化: /***根据id查询商铺信息*@paramid商铺id*@return商铺详情数据*/@OverridepublicResultqueryById(Longid){//key要唯......
  • linux学习记录(管道、环境变量与常用命令) 10.14~10.15
    管道;类似文件重定向第一个命令的标准输出至第二个命令的标准输入,第二个文件的标准输出至第三个命令的标准输入(1)只会处理stdout标准输出,stderr会忽略(2)管道右边的命令必须能接受stdin(有些指令如:rmtmp-r接收的是文件参数)(3)多个管道命令可以串联 与文件重定向的区别:文件重......
  • debug常用命令
    debug常用命令参考教程https://blog.csdn.net/happylzs2008/article/details/113825836挂载硬盘mountc:d:/masmc:dir生成可执行文件masmsample.asm;后缀名可省略linksample.objsample.exer查看和修改寄存器查看:最后一行是下一条要执行的命令修改寄存器内......
  • 「闲话随笔」 C++ namespace K8He-Math version -1.0.0 is officially released!
    C++namespaceK8He-Mathversion-1.0.0isofficiallyreleased!写着玩的,不清楚是否有实用价值,看个乐就行,别D.有Bug可以自己调(怎么用感觉比较好看出来.namespaceMATH{ namespaceType{ usingi32=int; usingi64=longlong; usingu32=std::uint32_t;......
  • OpenBmc 常用命令汇总
    bitbake相关#编译u-bootbitbakeuboot#编译系统镜像bitbakecore-image-minimalbitbakecore-image-basebitbakefsl-image-guibitbakefsl-image-qt5bitbakefsl-image-multimedia#只下载不编译:bitbake-cfetchallcore-image-minimal#跳过错误,继续编译:bitb......