1

我正在编写一个基于 Django 的小型前端来收集和绘制互联网使用统计数据。

目前,我们从我们的 ISP 获得每月文本文件,显示每 5 分钟间隔的平均字节/秒。例如:

Date       Time        In      Out
28.03.2010 00:00:00 204304  228922
28.03.2010 00:05:00 104231  222998
28.03.2010 00:10:00 264292  210194
28.03.2010 00:15:00 212982  213048
28.03.2010 00:20:00 90543   139082
28.03.2010 00:25:00 71620   175556
28.03.2010 00:30:00 65382   207898
28.03.2010 00:35:00 68676   213925
28.03.2010 00:40:00 62974   204304
28.03.2010 00:45:00 54341   208427
28.03.2010 00:50:00 98822   155641

我们将这些数字乘以 300 (5x60) 以获得每个 5 分钟块的总字节数。

(我实际上很好奇为什么 ISP 会给我们这样的平均字节/秒,而不是实际给我们在 5 分钟间隔内消耗的总字节数?对于任何知情人士,这有某种技术基础吗? )

然后将这些汇总起来以获得每日或每小时的总数并绘制图表是相当简单的。

我的问题很简单——在 Django 中,存储这些的有效模型是什么?

输入/输出的总字节数实际上并不属于单个时间点,它涵盖了一段时间。将每个数据点存储为开始时间和结束时间,然后存储输入/输出的总字节数有什么意义?这样做感觉更干净,但是只存储一个日期/时间并假设它是在它之前/之后的五分钟间隔是不好的(老实说,我什至不确定它是这两个中的哪一个)。

或者是否有更聪明/更有效的方法来存储这些数据 - 最终结果是我们想要做一些事情,比如绘制每小时或每天(或任何任意时间段)的总数,以及绘制实际流量等。

我正在尝试找到一种有效的数据存储方式,这也很容易查询上述统计信息。

此外,我们可以在这里使用任何特别好的可视化/统计数据吗?

干杯,维克多

4

1 回答 1

1

RRDTool 几乎是为存储和绘制此类数据而设计的

http://oss.oetiker.ch/rrdtool/

如果您在 pypi 上查看,还有几个不同的 python 包装器可用

于 2010-08-18T19:39:04.840 回答