Różnica między minimalnym czasem życia pamięci podręcznej a upływem ważności stron w pamięci podręcznej
35
Na stronie wydajności Drupal, pod pamięcią podręczną zestawu pól, masz dwie opcje. Jeden to minimalny czas życia bufora, a drugi to wygasanie stron w pamięci podręcznej.
Po kilku godzinach poczyniłem następujące spostrzeżenia. Jeśli są jakieś luki lub błędy, daj mi znać. Z przyjemnością wprowadzę edycje.
Najpierw obserwator, że żadna z Opcji w CACHINGU nie jest od siebie zależna . Gdyby były, widziałbyś je w różnych zestawach pól (lub jako pola zależne). Zanotuj tę obserwację, a my wrócimy do niej później.
Zacznijmy od pierwszej opcji Cache Pages dla anonimowych użytkowników .
Kiedy zaznaczysz tę opcję, w zasadzie mówisz Drupalowi
Hej, Bestio, słuchaj, kiedy anonimowy użytkownik odwiedza moją witrynę,
Przechowuj wygenerowany kod HTML w tabeli pamięci podręcznej
Tak, że mogę wyświetlić ten sam wynik wszystkim użytkownikom, ponieważ moje strony pozostają takie same dla wszystkich anonimowych użytkowników.
I nie usuwaj buforów stron, dopóki nie powiem wyczyść wszystkie bufory.
Nawet jeśli nie włączysz Cache Pages for anonymous users strony, pamięć podręczna może być nadal buforowana przez zewnętrzne systemy pamięci podręcznej. Np .: Zwiększenie
Teraz przejdźmy do następnych opcji, których ogólnie byś użył.
Wygaśnięcie stron w pamięci podręcznej
Pamiętaj, że to ustawienie nie ma nic wspólnego z bazą danych Drupal ani tabelami pamięci podręcznej.
Przeczytaj opis The maximum time an external cache can use an
old version of a page.Jak zauważył Molot, słowo kluczowe jest zewnętrzne.
Tak więc ta opcja zasadniczo polega na ustawieniu Kontroli pamięci podręcznej nagłówka na publici wartości maksymalnej wieku w nagłówku na określoną wartość (w tym przypadku 1 dzień).
Ten nagłówek informuje externalsystemy buforujące, aby nie dzwoniły do serwera dla tej strony, dopóki nie osiągną maksymalnego wieku, ponieważ mogą wyświetlać tę stronę z własnego bufora. Po osiągnięciu maksymalnego wieku system buforowania powinien ponownie sprawdzić na serwerze Drupal, czy zawartość się zmieniła.
Jeśli jest to serwer Varnish, nie wykonuje połączenia z Apache i zwraca stronę z pamięci podręcznej. Załóżmy więc, że Varnish zbuforował stronę i tysiące różnych użytkowników zgłosiło żądanie do tej strony. Oznacza to, że 1000 żądań zostało przetworzonych bez trafienia na serwer Apache nawet raz.
Minimalny czas życia pamięci podręcznej
Jeśli Twoja witryna nie ma dużego ruchu lub nie masz pewności, co to za wartość, lepiej pozostaw tę wartość jako żadną.
Ta wartość dotyczy nie tylko stron. Ale wszystkie obiekty pamięci podręcznej.
Ta wartość mówi: „W porządku jest podawanie obiektów pamięci podręcznej, które są nieaktualne”
W naszym przypadku wartość jest ustawiona na 5 minut.
Jeśli masz stronę z listą pięciu najnowszych blogów na stronie głównej. Powyższe wartości oznaczają, że jeśli zostanie utworzony nowy blog, jest w porządku, aby blog nie pojawiał się na liście przez pięć minut.
Po ustawieniu tej wartości, aby pamięć podręczna była aktualizowana / odtwarzana minimum, musi upłynąć tyle czasu i musi zostać uruchomiona akcja czyszczenia pamięci podręcznej [Należy uruchomić funkcję czyszczenia pamięci podręcznej].
Dziękuję za tę odpowiedź. Jestem jednak trochę zdezorientowany: w przypadku „Stron pamięci podręcznej dla anonimowych użytkowników” mówisz, że oznacza to „nie usuwaj pamięci podręcznej stron, dopóki nie wypiszę wszystkich pamięci podręcznych”. Co oznacza to „mówię” ? Co spowoduje wyczyszczenie pamięci podręcznej?
Interesujące jest dla mnie to, że jest to prawdą tylko wtedy, gdy włączona jest opcja „Buforuj strony anonimowych użytkowników”. Jeśli nie, zmiana „Wygaśnięcie stron w pamięci podręcznej” nic nie robi, a włączenie opcji „Minimalny czas życia bufora” ustawia nagłówki. Tylko jeśli buforowanie dla anonimowych użytkowników jest włączone i TYLKO NASTĘPNIE „Wygaśnięcie stron w pamięci podręcznej” ustawia nagłówki. To trochę mylące ...
Minimalny czas życia pamięci podręcznej jest często źle interpretowany, co oznacza, że „strony zostaną zregenerowane po upływie tak długiego czasu”. W rzeczywistości oznacza to, że strony nie zostaną zregenerowane, dopóki przynajmniej tyle czasu minie i nie nastąpi zdarzenie czyszczenia pamięci podręcznej.
Wygaśnięcie stron w pamięci podręcznej jest również czasami źle interpretowane. Ta wartość kontroluje to, co jest wysyłane jako wartość maksymalnego wieku w nagłówku Cache-Control, a zatem informuje serwery proxy, jak długo mogą one wyświetlać stronę, bez pytania instalacji Drupala o nową kopię. Nie oznacza to, że strona zostanie zregenerowana po tak długim czasie, to po prostu oznacza, że serwer proxy musi sprawdzić Drupal, aby sprawdzić, czy po upływie tego czasu istnieje nowa wersja strony. Drupal zregeneruje stronę dopiero po wystąpieniu zdarzenia czyszczenia pamięci podręcznej.
Odpowiedzi:
Po kilku godzinach poczyniłem następujące spostrzeżenia. Jeśli są jakieś luki lub błędy, daj mi znać. Z przyjemnością wprowadzę edycje.
Najpierw obserwator, że żadna z Opcji w CACHINGU nie jest od siebie zależna . Gdyby były, widziałbyś je w różnych zestawach pól (lub jako pola zależne). Zanotuj tę obserwację, a my wrócimy do niej później.
Zacznijmy od pierwszej opcji Cache Pages dla anonimowych użytkowników .
Kiedy zaznaczysz tę opcję, w zasadzie mówisz Drupalowi
Hej, Bestio, słuchaj, kiedy anonimowy użytkownik odwiedza moją witrynę,
Nawet jeśli nie włączysz
Cache Pages for anonymous users
strony, pamięć podręczna może być nadal buforowana przez zewnętrzne systemy pamięci podręcznej. Np .: ZwiększenieTeraz przejdźmy do następnych opcji, których ogólnie byś użył.
Wygaśnięcie stron w pamięci podręcznej
The maximum time an external cache can use an old version of a page.
Jak zauważył Molot, słowo kluczowe jest zewnętrzne.public
i wartości maksymalnej wieku w nagłówku na określoną wartość (w tym przypadku 1 dzień).Ten nagłówek informuje
external
systemy buforujące, aby nie dzwoniły do serwera dla tej strony, dopóki nie osiągną maksymalnego wieku, ponieważ mogą wyświetlać tę stronę z własnego bufora. Po osiągnięciu maksymalnego wieku system buforowania powinien ponownie sprawdzić na serwerze Drupal, czy zawartość się zmieniła.Jeśli jest to serwer Varnish, nie wykonuje połączenia z Apache i zwraca stronę z pamięci podręcznej. Załóżmy więc, że Varnish zbuforował stronę i tysiące różnych użytkowników zgłosiło żądanie do tej strony. Oznacza to, że 1000 żądań zostało przetworzonych bez trafienia na serwer Apache nawet raz.
Minimalny czas życia pamięci podręcznej
Jeśli Twoja witryna nie ma dużego ruchu lub nie masz pewności, co to za wartość, lepiej pozostaw tę wartość jako żadną.
źródło
W tym artykule omówiono terminologię buforowania Drupal: http://www.phase2technology.com/blog/caching-in-drupal/
Podsumowanie odpowiednich punktów:
Minimalny czas życia pamięci podręcznej jest często źle interpretowany, co oznacza, że „strony zostaną zregenerowane po upływie tak długiego czasu”. W rzeczywistości oznacza to, że strony nie zostaną zregenerowane, dopóki przynajmniej tyle czasu minie i nie nastąpi zdarzenie czyszczenia pamięci podręcznej.
Wygaśnięcie stron w pamięci podręcznej jest również czasami źle interpretowane. Ta wartość kontroluje to, co jest wysyłane jako wartość maksymalnego wieku w nagłówku Cache-Control, a zatem informuje serwery proxy, jak długo mogą one wyświetlać stronę, bez pytania instalacji Drupala o nową kopię. Nie oznacza to, że strona zostanie zregenerowana po tak długim czasie, to po prostu oznacza, że serwer proxy musi sprawdzić Drupal, aby sprawdzić, czy po upływie tego czasu istnieje nowa wersja strony. Drupal zregeneruje stronę dopiero po wystąpieniu zdarzenia czyszczenia pamięci podręcznej.
źródło