用python+iperf3写一个“每跑一次我就多摸鱼一分钟”的网络吞吐量测试脚本

  • 对于新拿到的合板一般要先进行一波基础功能的测试,即对于一些功能接口(PoE,sd卡,喇叭,咪头等等)先进行初步的使用和测试。其中也包括对网络的测试,前段时间记录了纯手动xshell+cmd+iperf3的测试网络吞吐量的大小。为了提高效率,xshell可以添加一些快捷按钮。但是正好刚写了相关的其他脚本,随手一改我就能拥有摸鱼一分钟的快乐(也可以加个循环连续摸鱼十分钟)。
  • 影响主板网络通信的因素有很多。电脑作为服务器连了网线还是wifi,网线的长度,主板是否连接了灯板,电源是PoE还是DC,sd卡或者其他接口同时也在工作都会有或多或少的影响。结合我自己的情况,选择了100m网线+设定了50M的带宽,两种上电方式都要确保丢包率接近0才算ok。
  • 测试大体步骤是要用tftp将iperf3传送给设备,将cmd打开运行iperf3(作为server,每隔2秒跳出一次通信情况),语句如下。
 iperf3 -s -i 2

然后运行脚本,也可以打成exe再运行。等待结果然后对比。

```bash
#! /usr/bin/python3.7
# 1. 先ping 192.168.1.154可以ping进入第2步
# 2. telnet 192.168.1.154
# 3. 发送iperf3 cd /tmp ;tftp -gl iperf3 192.168.1.154
# 4. 50M抓取60s,每2s进行一次反馈,最后反馈一个丢包率
# 5. 后期可以改进输入 任意带宽,次数,运行时间,平均丢包率计算
import json
import logging
import time
import telnetlib
import os
import socket

global testIp
global hostIp
port = 23
USER = 'root'
PSW_1 = "root"


# 获取本地网卡的ip地址
def get_ip_address():
    res = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    res.connect(("8.8.8.8", 80))
    return res.getsockname()[0]


# 测试ping连接情况
def pingHost(host):


    status1 = 'PING SUCCESS'
    status2 = 'PING FAILED'
    nowTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
    p = os.popen("ping " + host + " -n 2")
    line = p.read()
    if "无法访问目标主机" in line:
        print("***********" + nowTime, host, status2 + "**********")
        return False
    else:
        print("***********" + nowTime, host, status1 + "**********")
        return True


# 等待执行
def wait_read(client, nwait):
    time.sleep(nwait
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值