Модель Django для хранения статистики использования интернета - PullRequest
1 голос
/ 18 августа 2010

Я пишу небольшой интерфейс на основе Django для сбора и отображения статистики использования интернета.

В настоящее время от нашего интернет-провайдера мы получаем ежемесячные текстовые файлы, которые показывают среднее число байтов / секунду для каждого 5-минутного интервала. E.g.:

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-минутного блока.

(Мне действительно любопытно, почему интернет-провайдер дает нам такие средние байты в секунду, вместо того, чтобы фактически давать нам общее количество байтов, потребляемых за 5-минутный интервал? к тому?)

Тогда довольно просто подсчитать их, чтобы получить ежедневные или почасовые итоги и построить их график.

Мой вопрос довольно прост - в Django, какой была бы эффективная модель для их хранения?

Общее количество входных и выходных байтов на самом деле не принадлежит одному моменту времени, оно охватывает период. Есть ли смысл хранить каждую точку данных в качестве времени начала и окончания, а затем хранить все входящие и исходящие байты? Это кажется чище, но плохо ли хранить одну дату / время и делать предположения, что это для пятиминутного интервала, предшествующего / после него (если честно, я даже не уверен, какой из этих двух это ).

Или есть более умные / эффективные способы хранения этих данных - конечный результат - мы бы хотели сделать такие вещи, как график итогов за час или за день (или любой произвольный период), а также график фактических скоростей потока и т.д.

Я пытаюсь найти эффективный способ хранения данных, а также легко запросить приведенную выше статистику.

Кроме того, какие-нибудь конкретные хорошие визуализации / статистику мы могли бы использовать здесь?

Ура, Victor

1 Ответ

1 голос
/ 18 августа 2010

RRDTool был в значительной степени разработан для хранения и отображения таких данных

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

есть пара различных оболочек Python, доступных, если вы посмотрите на pypi

...