mysql php - wydajność przy olbrzymiej ilości rekordów

pyt Q

red pisze:
Zrzuć jak najwięcej na bazę danych. PHP jest wolniejsze od silnika bazy, więc zrób podzapytania, a nie rozbijaj na 3 oddzielne.
No jest to prawda co piszesz, jednak nie zawsze takie rozwiązanie jest najbardziej optymalne. Np. masz serwer bazy i serwer aplikacji. Serwer bazy ma load 1.8 a aplikacji 0.6. Co robisz? ;] Bo ja zrzucam część obowiązków na skrypty, a w ogóle to cacheuję, cacheuję, cacheuję
Pozdr Exe Very Cute
Exe Very Cute pisze:
JA postępuję tak zrzucam max na bazy danych a wyniki zapytań keszuje na maksymalny dostępny czas
Rafał

odp A

Podobnie jak ja, ale zauważ że sam mechanizm cacheu jest to także nic innego jak zrzucenie części obowiązków na skrypty. Oszczędzając na ilości zapytań powodujesz konieczność obliczania np. CRC/MD5 dla bloków cacheu przy ich pobieraniu (czyt. identyfikowaniu przed pobraniem), i/lub konieczność przeprowadzania operacji na plikach. Ale to oczywiście tu tylko doprecyzowuję. No i chcąc być konsekwentnym, to powiem że cache nie tylko ustawia się na określony z góry czas, ale także na np. czas modyfikacji plików/rekordów źródłowych, pewnych wykonywanych akcji, etc.
Pozdr Exe Very Cute
Exe Very Cute pisze: dlatego w chwili obecnej mam 3 warstwy keszy: 1. pamięć współdzielona pomiędzy skryptami w ramach 1 domeny (średniej długości - pomocna przy minimalizacji krytycznych operacji -dostęp do dysku bazy danych) 2. kesz dyskowy (najdłuższy zależny uzależniony od czynników biznesowych) 3. kesz poziomu bazy danych.
strategią przyjętą w mojej firmie jest keszowanie całych stron ew bloków stron do kesza dyskowego, wszystkich zapytań sql'owych do pamięci współdzielonej, a kesze poziomu baz danych pomagają nam rozładować zapytania w czasie.
ogólnie u nas taka sytuacja była na tyle dobra, że mieliśmy sporą ilość użytkowników przeglądających te same strony.
czynnikami które spowalniają taki model keszowania są na pewno zbyt duża liczba plików w katalogach keszy (zwiększa się czas dostępu do keszy, loda serwera wzrasta), oraz zbyt duża liczba małych kawałków zaalokowanej pamięci współdzielonej, taki sam efekt uboczny jak z keszami dyskowymi.
tak więc używani wszystkich tych mechanizmów zależy od zdrowego rozsądku.
Pozdrawiam Rafał

Dodaj odpowiedź

Tytuł:

Mail: (w celu weryfikacji posta)