Blog agencji interaktywnej NetArch

 
18.45, 18 marzec, 2009
 
  Cache’owanie wyników w CMSie

Do naszego flagowego produktu, czyli systemu CMS dla serwisów społecznościowych dodaliśmy kolejną funkcjonalność. Jest to cache’owanie elementów witryny. Pozwoli to na obsługę znacznie większego ruchu na stronie - nawet na słabych serwerach.Wedle definicji Wikipedii cache’owanie polega na przechowywaniu ostatnio używanych danych w pamięci o dużo mniejszej latencji - czyli czasie reakcji. W naszym wypadku mechanizm działa nieco inaczej - dane przechowywane są także na dysku (podobnie jak w przypadku danych nie cache’owanych), jednak są to dane przetworzone.

Dla przykładu - jeśli przez zbuforowaniem danych do wyświetlenia strony głównej potrzebne było 30 zapytań do bazy w celu pobrania pożądanej treści, po użyciu mechanizmu cache’owania znaczna część treści jest już zapamiętana na dysku po przetworzeniu i do wygenerowania strony wystarczą 3-4 zapytania.

Mechanizm ten jeszcze lepiej sprawdza się w przypadku wyszukiwania treści w serwisie. Jeśli użytkownicy używają głównie podobnych-prostych fraz w wyszukiwarce, to przyrost wydajności będzie bardzo znaczący.

Jakie rezultaty dla klientów?

To wszystko powyżej brzmi trochę magicznie. Efektem dla właściciela serwisu będzie jednak:

  • znacznie krótszy czas generowania najbardziej popularnych stron (np. redukcja czasu generowania strony głównej z 2,5 do 0,5s)
  • buforowanie najbardziej popularnych wyszukiwań w serwisie
  • mniejsze obciążenie serwera, które przekłada się na możliwość obsłużenia większej ilości wyświetleń stron (np. dla hostingu na poziomie 400zł/m-c i dość złożonej strukturze serwisu - wzrost z 1 mln PV do 2 mln)

Jak tylko zbierzemy wystarczającą ilość danych zaprezentujemy wykresy przedstawiające wzrost wydajności nowego mechanizmu w praktyce :)


Łukasz Plutecki
 
 
 
 
 
Zostaw komentarz