如何在过去15分钟内测量带宽?

我想logging我的带宽到一个数据库,并找出当我的Windows Server 2003的使用最多。 我想用从最后一个提要传递的带宽来提供数据库(比方说15分钟)。

我知道netstat -e命令返回接口启动后传递的带宽。 有没有办法以某种方式重置计数器,而不禁用和重新启用接口?

如果没有,有没有比caching最后一个样本和每次计算差异更好的方法?

我在python脚本,如果它是相关的。

有了一些智能,内置的Windows性能监视器(perfmon)可以做到这一点。

基本上,如果将Windows性能监视器设置为将接口上的字节数/秒logging到SQL数据库中,则可以在一段时间内(即假设日志logging正在运行)select任意一段时间。

这基本上是大多数中央监控系统所做的。 我可以回顾过去12个月,看看有多less带宽进出我们的数据库服务器,直到无用的小增量。

想到的一个想法是使用WMI来查询networking接口。 由于我不熟悉python,在线快速search似乎表明有一个Python WMI模块,可以让你直接从Python中查询WMI。 查询WMI可能令人望而生畏。

这里有一个小的.vbs例子http://msdn.microsoft.com/en-us/library/windows/desktop/aa394595(v=vs.85).aspx应该让你开始。 如果你能弄清楚如何在python中完成,你应该已经设置好了,并且可以访问更多的信息,而不是你知道该怎么做。 我想你正在寻找的例子将是一个标题为“…获取有关networking适配器的信息,而不需要检索有关像RAS和VPN连接的信息?”。