PORADNIKI

4 min. czytania

Memcached: system buforowania pamięci podręcznej

Baza danych

Fot. Freepik

Co to jest Memcached? Jak działa? Jak przyspiesza strony internetowe i aplikacje? Jak włączyć Memcached?

Spis treści
Serwer

Założenie sklepu WWW to dopiero pierwszy krok, jeśli chcesz sprzedawać w sieci, oferować usługi czy ciekawe treści, które mają docierać do użytkowników i być przez nich wybierane. Powinno Ci zależeć na tym, aby witryna ładowała się jak najszybciej – to jeden z czynników, które mają wpływ na doświadczenia odbiorców. W osiągnięciu takiej strony pomóc Ci może Memcached. Co to jest i jak działa?

Czym jest Memcached?

Co to jest Memcached? Definicja:

Memcached to system buforowania danych pamięci podręcznej (RAM) najczęściej używany jako cache danych i obiektów na stronach internetowych w celu przyspieszenia działania baz danych, API czy stron WWW.

Memcached - ilustracja

Choć na początek wspomniałem o stronach WWW, to w praktyce Memcached nie jest rozwiązaniem przeznaczonym wyłącznie dla prowadzących takie serwisy. Efektem jego zastosowania jest zwiększenie szybkości działania różnych aplikacji internetowych. Jak to działa?

Kiedy internauta odwiedza stronę WWW, to standardowo dochodzi do pobrania danych z bazy i z serwera. W przypadku gdy Twoja witryna korzysta z Memcached, najpierw dochodzi do sprawdzenia tego, czy oczekiwane przez użytkownika dane nie znajdują się w pamięci serwera Memcached. To rodzaj bazy danych typu NoSQL, co oznacza, że nie jest ona oparta na modelu relacyjnym. Mechanizmy przechowywania danych i ich wyszukiwania są inne niż w przypadku standardowych, relacyjnych baz. Ich cechą charakterystyczną jest większa szybkość działania. 

Wracając do Memcached – w sytuacji, kiedy dane oczekiwane przez użytkownika nie znajdują się w tej bazie, wówczas trafiają do odbiorcy z bazy danych, ale są również kopiowane do pamięci podręcznej Memcached. Trafiają one tam również za każdym razem, gdy są aktualizowane. 

Memcached jest wysokowydajnym systemem buforowania typu open source. Sprawdzi się w przypadku serwisów, które mocno obciążają bazę danych ilością zapytań. W ich przypadku wdrożenie tego rozwiązania może przynieść szczególnie zauważalne efekty. 

Z Memcached i bez
źródło: memcached.org

Memcached – zalety

Odczyt z pamięci RAM jest dużo szybszy niż z dysków, ale to nie jedyny plus korzystania z tego rozwiązania. Memcached ma wiele zalet. Należy do nich zaliczyć:

  • wysoką wydajność,
  • skalowalność,
  • możliwość łączenia serwerów memcached działających na różnych maszynach,
  • wielowątkową architekturę,
  • obsługę wielu języków programowania,
  • łatwość użytkowania,
  • oszczędność zasobów.

Kluczowa korzyść, która wynika z wykorzystania Memcached, polega na tym, że możesz zwiększyć szybkość działania aplikacji internetowych. Rozwiązanie to sprawdza się szczególnie w przypadku stron, z których korzysta równocześnie wielu użytkowników, natomiast jego zastosowanie jest ogólne. 

Efekt wdrożenia Memcached najlepiej pokazują przeróżne testy przeprowadzone przez internautów. Na wykresie widzisz, jaki efekt przyniosło zastosowanie Memcached na serwerze z oprogramowaniem Apache, a jakie przy LiteSpeed. Widzisz również, że najlepsze wyniki osiągnął serwer LiteSpeed z konkurencyjnym rozwiązaniem w stosunku do Memcached, czyli z Redisem

Wykres: Apache bez cache (1,6s), Apache + Memcached (1,3s), Litespeed bez cache (1,4s), Litespeed + Memcached (1s), Litespeed + Redis (0,7s)
źródło: smarthost

Nie każda firma hostingowa daje Ci możliwość korzystania z takich rozwiązań. Zatem najpierw sprawdź, co obejmuje oferta. Kolejna kwestia dotyczy zasad użytkowania tego rozwiązania. Memcached może być włączone automatycznie, ale może również wymagać aktywacji w panelu zarządzania usługą. Tak czy siak – musisz do tego panelu zerknąć, aby zdobyć dane do logowania do serwera Memcached – potrzebujesz ich do tego, aby skonfigurować rozwiązanie dla Twojej aplikacji, którą zapewne najczęściej będzie strona WWW. 

Jak włączyć Memcached?

Kupiłeś usługę hostingową, dzięki której masz możliwość korzystania z tego rozwiązania? Najpierw sprawdź, czy Memcached jest włączone. Możliwe, że jest tak automatycznie, ale też bardzo prawdopodobne, że musisz włączyć usługę po zalogowaniu się do panelu zarządzania. Tak czy inaczej, musisz wejść do tego systemu, gdyż tam znajdziesz dane, które musisz mieć do konfiguracji. 

W kolejnym kroku potrzebujesz dodatkowej wtyczki do Twojego systemu CMS i wprowadzenia w niej danych konfiguracyjnych. Jeśli masz stronę opartą na WordPress, to możesz skorzystać m.in. z W3 Total Cache czy też LiteSpeed Cache. Pokażę Ci, jak dokonać konfiguracji za pomocą drugiej z wymienionych.

Zainstaluj ją, a następnie przejdź do jej ustawień. Kliknij Pamięć podręczna. 

Włączanie Memcached we wtyczce Litespeed Cache (WordPress) - krok 1

Sprawdź, czy opcja Enable Cache jest włączona. Jeśli nie, to wprowadź zmiany. 

Włączanie Memcached we wtyczce Litespeed Cache (WordPress) - krok 2

Teraz musisz jeszcze podać dane serwera Memcached. Żeby to zrobić, kliknij zakładkę Object. Pamięć podręczną obiektów ustaw na Wł. Jako metodę wybierz Memcached. Wprowadź również dane serwera Memcached – najprawdopodobniej znajdziesz je w panelu zarządzania serwerem, a jeśli ich tam nie ma, to dopytaj o tę kwestię administratorów hostingu. 

Na koniec zapisz zmiany i sprawdź, czy wszystko jest w porządku. Obok Stan znajdziesz informację o tym, czy udało się nawiązać połączenie. Jeśli wprowadziłeś poprawne dane, to raczej nie powinny się pojawić problemy. 

Włączanie Memcached we wtyczce Litespeed Cache (WordPress) - krok 3

Memcached – czy warto?

Dzięki zastosowaniu Memcached możesz przyśpieszyć działanie Twoich stron i aplikacji, a zmianę zauważysz szczególnie wówczas, gdy jesteś właścicielem popularnej strony. Rozwiązanie to przyniesie korzyść zarówno Tobie, jak i korzystającym z serwisu.