Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zwiększenie prędkości 1000 razy
Forum PHP.pl > Forum > PHP
Black-Berry
Oto co mi przyszło do głowy:

-> Wyrenderowaną stronę wysyłasz do klienta.
-> Kopię zapisujesz na dysku tak zeby kolejne zapytanie o ten sam adres wysłało nie nowy render ale własnei tą kopię.

Teraz pytanie jak takie coś wykonać ? (Przepraszam za skrót myśli ale nie ma się chyba co rozwodzić).
batman
1. Użytkownik wchodzi na stronę.
2. System sprawdza, czy istnieje plik jakas_strona.html (nie musi być to html, to tylko przykład).
3. Jeśli nie, to plik taki jest generowany.
4. Plik zwracany jest do klienta.
5. Pliki mogą być generowane w cronie, co znacznie poprawi wydajność aplikacji.
Black-Berry
No tak, tyle to ja rozumiem. Ale jak cały generowany output wysłąć zamiast do przeglądarki do pliku ?
batman
Output control
Black-Berry
dzięki smile.gif tyle mi było trzeba.
radmistrz2
hmm ciekawe rozwiązanie. Moja strona ma ponad 200 tys podstron. Czy to by nie było za dużo??
kwiateusz
jak masz wystarczajaco miejsca na dysku to oczywiscie tak dziala wiekszosc cache'y smile.gif dodatkowo mozna dorobić czy cache ma byc usuwany po ilus minutach, czy recznie itp
Cotter
Zawsze warto cache'ować. Najlepsze są rozwiązania pośrednie. To znaczy, że wykonujemy cache tylko najczęściej odwiedzanych podstron.
Black-Berry
Tak się przy tej okazji zastanawiam po co cachować zapytania do bazy skoro o wiele lepiej i wygodniej cachowac cały render??
batman
Cytat
Zawsze warto cache'ować. Najlepsze są rozwiązania pośrednie. To znaczy, że wykonujemy cache tylko najczęściej odwiedzanych podstron.
nie mogę się z tym zgodzić. A co w przypadku strony, która jest rzadko odwiedzana, ale strasznie mieli bazę lub pliki. Wówczas będzie spore opóźnienie w wyświetleniu strony.

Cytat
Tak się przy tej okazji zastanawiam po co cachować zapytania do bazy skoro o wiele lepiej i wygodniej cachowac cały render??
A co w przypadku formularzy? Jeśli będziesz miał zbuforowaną całą stronę, to nie ważne co wprowadzi użytkownik, zawsze wyświetli mu się to samo. Chyba, że będzie tworzył cache dla wszystkich możliwości (kompletnie bez sensu). A tak, to zamulające zapytania do bazy będą pobrane z cache, a resztą zajmie się php.
Black-Berry
Cytat(batman @ 14.07.2008, 12:18:43 ) *
A co w przypadku formularzy? Jeśli będziesz miał zbuforowaną całą stronę, to nie ważne co wprowadzi użytkownik, zawsze wyświetli mu się to samo. Chyba, że będzie tworzył cache dla wszystkich możliwości (kompletnie bez sensu). A tak, to zamulające zapytania do bazy będą pobrane z cache, a resztą zajmie się php.

Przy podziale na moduły moznaby cachować tylko te które nie zawieraja formularzy.

A co gdyby dla kazdego użytkownika tworzyć odrębny cache. Np buffor 100 ostatnio odwiedzanych podstron trzymany przez długość trwania sesji lub godzinę. Stronę główną można by cachować odrębnie dla wszystkich userów. Wszystko zależy oczywiście od detali ale jak tak patrzę na swój silnik to zapytania do bazy zajmują tylko około 1/5 czasu generowania strony. Po co mam myśleć nad poprawą 20% wydajności jak mogę myśleć o poprawie 100 ?
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.