Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przechowywanie danych statystycznych
Forum PHP.pl > Forum > PHP
adrix88
Witam. Tworzę system monitorowania serwerów dedykowanych i zastanawiam się w jaki sposób rozwiązać sposób przechowywania danych, żeby rozwiązanie to było wydajne...

Specyfikacja rozwiązania:
-System pobiera z maszyn odczyty z obciążenia procesora każdego użytkownika w odstępach co 2 sec, czyli przy np. 500 użytkownikach linux dziennie będzie tych odczytów ~ 21600000
-Na podstawie tych danych mają być generowane wykresy oraz obliczane, czy użytkownicy mieszczą się w limitach
-Dane te mają być przechowywane minimum przez 7 dni

Problem:
W jaki sposób przechowywać te dane żeby było wydajnie, przychodzą mi do głowy takie rozwiązania:
- Ładować je do mysqla każdy odczyt do oddzielnej tabelki w stylu ID | CPU | MEM?
- Ładować statystyki z całego dnia w formie tablicy do bazy w formie blob
- Ładować statystyki z całego dnia w formie tablicy zserializowanej w oddzielnych plikach txt

Pomóżcie wybrać najlepsze rozwiązanie...
artuross
Mysle, ze po pierwsze nalezy zrezygnowac z MySQL.
Wydaje mi sie, ze opcja 1. jest najlepsza, przy czym powinienes utworzyc zamiast wielu tabel jedna, ktora bedzie miala pole ID, CPU, MEM, timestamp/idodczytu/whatever. Dzieki temu szybko mozesz dropnac zbedne dane patrzac na date (np. mozesz zostawiac sobie na pozniej odczyty z kolejnych 30 sekund zamiast 2).

Ale mimo wszystko wydaje mi sie, ze ~151kk zapisow do MySQL w ciagu 7 dni to lekki zapiernicz dla tego systemu (nie, nie mowie o SO).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.