我正在尝试构建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命令可以简化任务?
答案 0 :(得分:0)
speed ,表示带宽。您可以使用简单的ifconfig查看最大理论BW。要计算使用中的实际带宽,您需要多次调用类似net_io_counters的内容,并使用输出+时间间隔来确定。没有“速度计”这样的东西。一个更简单但更不精确的方法可能是计算自系统启动以来的平均使用带宽(假设你没有通过组合net_io_counters和'uptime'的输出来执行'if down / up')。
最后,为了了解您的实际最大带宽,通常的方法是下载已知大小的文件并下载下载时间。当然,考虑到网络的工作方式,如果远程文件服务器的上传带宽> =您的本地下载带宽,您只能在此处获得清晰的图片,否则下载速度将受到远程机器/网络的限制。 / p>