Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][Symfony] - Optymalizacja zapytań przy dużej ilości użytkowników
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Witam,

Zrobiłem sobie pewien algorytm rekomendacyjny, który wyświetla dane na podstawie podobieństwa użytkowników. Najpierw za pomocą pewnej metryki oblicza dla kazdego użytkownika wyniki, następnie sortuje wyniki na podstawie uzyskanych wyników i na końcu wybiera 5ciu użytkowników z nawiększymi wynikami , którzy są w tym momencie najbardziej podobnymi do użytkownika zalogowanego. Mając taką grupę 5ciu użytkowników wybierane są dane, które wybierali wcześniej oni, natomiast nie wybierał ich wcześniej zalogowany użytkownik.

I tak jeśli w bazie znajduje się 476 użytkowników to wyniki w toolbarze mam następujące:

DB Queries: 956
Query time: 218,98 ms
Invalid entities: 10

Czy ilość zapytań : 956 , przy tylu użytkownikach, przy takim algorytmie jest normalna ?

Proszę o podpowiedź co w toolbarze znaczy: Invalid entities 10 . Co mogę mieć źle ?

dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damianooo
post
Post #2





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat
Za każdym razem przy odświeżeniu uruchamiasz przeliczanie? Jeśli tak, to może rozważ przeniesienie tego do command dla każdego użytkownika i uruchamianie co kilka/kilkanaście godzin.


Tak za każdym razem przy odświeżeniu strony uruchamiam przeliczanie. Dlaczego proponujesz uruchamiać to co kilka/kilkanaście godzin ? Ja te wyniki muszę przeliczać ciągle ponieważ ciągle coś w systemie się będzie zmieniać (przybywać danych) i na tej podstawie muszę od nowa liczyć i wyświetlać "aktualnie" najlepsze wyniki.

Apropo tego rozwiązania :

Cytat
Albo wrzucenie wyniku raz wykonanego zapytania do cache'a (rozwiązanie bardziej sensowne)


Jak to się robi w Symfony ? Nie robiłem tego jeszcze a faktycznie to pewnie będzie dobre rozwiązanie. Tylko czy aby sprawdzi się to wobec tego co napisałem powyżej ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 16:04