2010-08-18 5 views
1

Je suis en train d'écrire une petite interface basée sur Django pour collecter et représenter graphiquement les statistiques d'utilisation d'Internet.Modèle Django pour stocker les statistiques d'utilisation d'Internet

Actuellement, à partir de notre FAI, nous obtenons des fichiers texte mensuels qui montrent la moyenne octets/seconde pour chaque intervalle de 5 minutes. .: par exemple

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 

Nous multiplier ces chiffres par 300 (5x60) pour obtenir le total des octets dans/pour chaque bloc de 5 minutes.

(Je suis curieux de savoir pourquoi le FAI nous donnerait des octets moyens/sec comme ça, au lieu de nous donner le nombre total d'octets consommés dans un intervalle de 5 minutes? Pour quelqu'un au courant, y at-il une sorte de technique? Il est donc assez trivial de les additionner pour obtenir des totaux quotidiens ou horaires et de les représenter graphiquement.

Ma question est assez simple - dans Django, quel serait un modèle efficace pour les stocker?

Le total des octets entrants/sortants n'appartient pas réellement à un seul point dans le temps, il couvre une période. Y a-t-il beaucoup d'intérêt à stocker chaque point de données à la fois comme une heure de début et une heure de fin, puis stocker le total des octets dans/hors? Il est plus propre de le faire, mais est-ce mauvais de ne stocker qu'une seule date/heure et de supposer que c'est pour l'intervalle de cinq minutes précédent/après (pour être honnête, je ne suis même pas sûr de savoir lequel de ces deux).

Ou y at-il des moyens plus intelligents/efficaces de stocker ces données - le résultat final est que nous voudrions faire des choses comme les totaux par heure ou par jour (ou n'importe quelle période arbitraire), et aussi représenter le flux réel

J'essaie de trouver un moyen efficace de stocker les données, c'est aussi facile à interroger pour les statistiques ci-dessus.

En outre, toutes les bonnes visualisations/statistiques que nous pourrions utiliser ici?

Cheers, Victor

+0

Je regarderais en utilisant quelque chose de non-relationnel pour les stocker - tels que Redis ou MongoDB. Les deux ont de bonnes bibliothèques client python disponibles. –

Répondre

1

RRDTool était à peu près conçu pour stocker et représenter graphiquement ce type de données

il y a un autre couple wrappers python disponibles et si vous regardez sur pypi

Questions connexes