计算吞吐量而不会延迟代码

时间:2019-10-02 15:14:13

标签: python psutil

我有一个比较笼统的问题,没有太多要分享的代码。我有一个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秒钟?

0 个答案:

没有答案