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ł
mysql php - wydajność przy olbrzymiej ilości rekordów
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ł