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.

wprowadź opis zdjęcia tutaj

Jaka jest różnica między tymi dwoma.

Gokul NK
źródło
Przyjrzyj się bliżej słowu „zewnętrznemu”;)
Mołot
1
W pewnym sensie znam odpowiedź. Pomyślałem o napisaniu szczegółowej odpowiedzi, aby potwierdzić moje myślenie i mam nadzieję, że może to pomóc innym.
Gokul NK
Aby uzyskać szczegółową odpowiedź, sprawdź drupal.stackexchange.com/questions/83315/…
Gokul NK

Odpowiedzi:

39

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.

wprowadź opis zdjęcia tutaj

Zacznijmy od pierwszej opcji Cache Pages dla anonimowych użytkowników . wprowadź opis zdjęcia tutaj

Kiedy zaznaczysz tę opcję, w zasadzie mówisz Drupalowi

Hej, Bestio, słuchaj, kiedy anonimowy użytkownik odwiedza moją witrynę,

  1. Przechowuj wygenerowany kod HTML w tabeli pamięci podręcznej
  2. Tak, że mogę wyświetlić ten sam wynik wszystkim użytkownikom, ponieważ moje strony pozostają takie same dla wszystkich anonimowych użytkowników.
  3. 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

wprowadź opis zdjęcia tutaj

  1. Pamiętaj, że to ustawienie nie ma nic wspólnego z bazą danych Drupal ani tabelami pamięci podręcznej.
  2. 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.
  3. 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ń).
  4. 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.

  5. 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 wprowadź opis zdjęcia tutaj

Jeśli Twoja witryna nie ma dużego ruchu lub nie masz pewności, co to za wartość, lepiej pozostaw tę wartość jako żadną.

  1. Ta wartość dotyczy nie tylko stron. Ale wszystkie obiekty pamięci podręcznej.
  2. Ta wartość mówi: „W porządku jest podawanie obiektów pamięci podręcznej, które są nieaktualne”
  3. W naszym przypadku wartość jest ustawiona na 5 minut.
  4. 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.
  5. 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].
Gokul NK
źródło
1
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?
s427
1
@ s427 sprawdź drupal.stackexchange.com/questions/102976/..., aby uzyskać szczegółowe informacje na temat tego, co spowoduje wyczyszczenie pamięci podręcznej.
Gokul NK
1
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 ...
Łukasz Zaroda
19

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.

jazzdrive3
źródło