Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Statystyki.
Forum PHP.pl > Forum > PHP
thornag
Witam,

Glowie sie juz od pewnego czasu nad skutecznym zapisywaniem statystyk dla kazdego uzytkownika osobno.

Do spisania mam (z rozroznieniem na unikalne i powtarzajace sie) kilka roznych typow accessow. Odswierzenie, pobranie pliku, pobranie pliku zip, pobranie xml irp. Dla generowania dobrych zadowalajacych klientow trzeba zapisywac timestampy, ip, identyfikacje przegladarki itp. Musze to tez rozdzielic na access z trzech ronych miejsc (w trzech roznych formach oferujemy dostep do przechowywanych danych).

Moj problem polega na tym ze kompletnie nie wiem jaki wybrac sposob na zachowywanie tych danych. Zdecydowalem sie na pliki, przy duzej ilosci uzytkownikow nie wyobrazam sobie utrzymania bazy danych. I wlasnie z plikami mam problem. Zastanawialem sie nad segregacja tych plikow. Jeden duzy moim zdaniem odpada, mozliwoscia wydaje sie zapisywac kazdy dzien w innym pliku, jednak wtedy mamy multum plikow (utrzymajmy skale roku wtedy 365 srednio duzych plikow), mozna robic tygodniowo lub miesiecznie wtedy liczba plikow maleje ale znacznie rosnie ich wielkosc.

Statystyki generowane sa roznie na podstawie miesiaca, roku, dnia czy tygodnia, moga tez byc generowane kiedykolwiek uzytkownik sobie tego zazyczy.

I tutaj wkrada sie moja obawa o optymalnosc takiego skryptu. Mysle ze czytanie duzego pliku to dosc obciazajace zadanie dla serwera, nie mowiac o sytuacji kiedy zjawi sie kilka kolejnych zaraz po pierwszy requescie. To wydaje sie przemawiac za podzialem dniowym, z drugiej strony jesli ktos sobie zazyczy sprawdzic miniony miesiac to sam nie wiem czy lepiej otworzyc jeden duzy plik czy 31 malych.

Co sami radzilibyscie w takiej sytuacji, mozemy okreslic ze dziennie w takim pliku moze sie pojawic okolo 2000 linijek.
wipo
Statystyka na plikach jest nieefektywna i prawdopodobnie będzie często szwankować.
Zauważ sytuację kiedy jednocześnie kilku userów zgłosi żądanie zapisu do plików statystyki - w tej sytuacji któryś z nich zostanie pominięty (a w najgorszym wypadku plik gdzieś zniknie).

Taka zada na przyszłość - jak robisz coś złożonego nie bój się używać bazy. Pozakładaj kluczej i będzie śmigać aż miło
thornag
Hmm do pliku zapisuje male ilosci danych, watpie zeby w dokladnie tym samym czasie byly dwa requesty do tego pliku.

Celujemy w spore ilosci uzytkownikow, w sytuacji kiedy kazdy z nich bedzie mial jakas tam ogladalnosc to kazda wizyta na jego tzw microsite to mozliwe 4 recordy, te 4 razy ilosc uzytkownikow i wizyt daje duze ilosci.

Poki co wszystko smiga na MySQLu nie wiem kiedy bedziemy zmieniac baze wiec obawiam na jak dluga MySQL starczy a statystyki chcemy trzymac przez rok.

Do tego wiekszosc skryptow statystyk korzysta wlasnie z plikow, stad moj wybor.
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.