首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测量以太网速度python

测量以太网速度python
EN

Stack Overflow用户
提问于 2018-04-30 15:51:16
回答 1查看 549关注 0票数 1

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

代码语言:javascript
复制
psutil.net_io_counters(pernic=True)

此命令的输出为:

代码语言:javascript
复制
    '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命令?

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 16:22:55

所谓速度,指的是带宽。您可以使用简单的ifconfig查看最大理论带宽。要计算实际使用的带宽,您需要多次调用net_io_counters之类的函数,并使用输出+时间间隔来确定。没有“测速仪”这回事。一种更简单但不太精确的方法是通过结合net_io_counters的输出和“正常运行时间”来计算自系统启动以来的平均使用带宽(假设您没有在两者之间执行“if down /up”)。

最后,为了了解您的实际最大带宽,通常的方法是下载一个已知大小和下载时间的文件。当然,考虑到网络是如何工作的,只有当远程文件服务器的上传带宽是>=你的本地下载带宽时,你才能在这里得到一个清晰的画面,否则下载速度将被远程机器/网络所限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50096144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档