我有一个比较笼统的问题,没有太多要分享的代码。我有一个raspi,我想计算2个吞吐量:磁盘IO每秒读/写和每秒网络速度。 psutils
可以访问磁盘操作和网络访问的各种字节数计数器。所以我要做的是创建两个简单的函数,如下所示:
def throughput():
old_value = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
time.sleep(1)
new_value = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
return "{0:.3f}".format((new_value - old_value)/1024./1024.*8)
类似的是磁盘。现在,默认情况下,这会增加一个1秒的延迟(大约),我在主代码的while循环中使用它。这意味着我的代码将大约每2秒输出一次结果(还计算磁盘功能的1秒延迟)。这太过分了,因为我将这些数据与我从Arduino获得的测量值结合起来,设置为每100ms将数据发送到raspi。
我的问题是:有没有一种更快的方法来测量Python中的吞吐量,而不是等待1秒钟?