繁体   English   中英

测量以太网速度python

[英]measure Ethernet speed python

我正在尝试构建Python模块,该模块将监视和测量以太网速度(接收和发送)。 该模块是性能计划的一部分。 我寻找了使之成为可能的库,并且我找到的唯一库是使用以下命令的Psutil

psutil.net_io_counters(pernic=True)

该命令的输出为:

    'Ethernet 5': snetio(bytes_sent=211080874L, bytes_recv=929895370L, packets_sent=667031L, packets_recv=2757846L, errin=0L, errout=0L, dropin=0L, dropout=0L),
 'Loopback Pseudo-Interface 1': snetio(bytes_sent=0L, bytes_recv=0L, packets_sent=0L, packets_recv=0L, errin=0L, errout=0L, dropin=0L, dropout=0L),
 'isatap.replay.local': snetio(bytes_sent=0L, bytes_recv=0L, packets_sent=0L, packets_recv=0L, errin=0L, errout=0L, dropin=0L, dropout=0L)

所以我只是字节数,而对命令测量的时间间隔一无所知,所以我无法从中提取速度。

哪些库与我的任务有关? 如何使用python脚本提取以太网速度? 是否有CMD命令可以简化任务?

速度是指带宽 您可以通过简单的ifconfig查看最大理论带宽。 要计算实际使用的带宽,您需要多次调用net_io_counters之类的东西,并使用输出+时间间隔来确定。 没有“速度计”之类的东西。 一种更简单但不太精确的方法是通过组合net_io_counters和“ uptime”的输出来计算自系统启动以来的平均已用带宽(假设您在两次启动之间均未进行“ if down / up”操作)。

最后,要了解您的实际最大带宽,通常的方法是下载一个已知大小的文件,并确定下载时间。 现在,当然,考虑到网络的工作原理,如果远程文件服务器的上传带宽> =您的本地下载带宽,您将在此处只有清晰的画面,否则下载速度将受到远程计算机/网络的限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM