测量以太网速度蟒蛇



我正在尝试构建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和"正常运行时间"的输出来计算自系统启动以来的平均已用带宽(假设您没有在两者之间执行"如果下降/向上"(。

最后,要了解实际的最大带宽,常用方法是下载已知大小和下载时间的文件。当然,现在,考虑到网络的工作方式,只有当远程文件服务器的上传带宽>=您的本地下载带宽时,您才能在这里清楚地了解,否则下载速度将受到远程机器/网络的限制。

最新更新