Użyj Memcached, aby zmniejszyć obciążenie bazy danych w witrynie WordPress

Opublikowany: 2018-11-30
Memcached dla WordPress
Obserwuj @Cloudways

Memcached to jeden z mechanizmów buforowania znajdujących się na serwerze hostingowym. Zajmuje się głównie zapytaniami do bazy danych, które pomagają zmniejszyć obciążenie bazy danych, co skutkuje szybkim ładowaniem strony internetowej. Jeśli Twoja witryna/sklep opiera się w dużej mierze na zapytaniach do bazy danych, użycie Memcached dla witryny WordPress znacznie poprawiłoby wydajność i skróciło czas ładowania strony.

Giganci internetowi, w tym YouTube, Reddit, Facebook, Twitter i Wikipedia, używają Memcached do przyspieszenia czasu ładowania strony. Google App Engine, Microsoft Azure, IBM Bluemix i Amazon Web Services również oferują usługę Memcached za pośrednictwem interfejsu API.

Biorąc pod uwagę jego znaczenie w skróceniu czasu ładowania strony, (Cloudways) oferujemy preinstalowany Memcached na naszych zarządzanych serwerach hostingowych w chmurze WordPress. Czasami jednak może być konieczne skonfigurowanie aplikacji (WordPress), aby w pełni wykorzystać Memcached.

Spis treści

  1. Co to jest Memcached?
  2. Do czego służy Memcached?
  3. Jak działa Memcached?
  4. Jak korzystać z Memcached?
  5. Instalowanie Memcached na serwerze
  6. Sprawdź, czy Memcached działa
  7. Memcached dla użytkowników Cloudways
  8. Wtyczka WordPress Memcached
  9. Końcowe przemyślenia

Co to jest Memcached?

Według oficjalnej strony internetowej Memcached, Memcached to:

„Bezpłatny i otwarty, wysokowydajny system buforowania obiektów w pamięci rozproszonej, z natury ogólny, ale przeznaczony do przyspieszania dynamicznych aplikacji internetowych poprzez zmniejszanie obciążenia bazy danych.

Memcached to magazyn kluczy i wartości w pamięci dla małych fragmentów dowolnych danych (ciągów, obiektów) z wyników wywołań bazy danych, wywołań API lub renderowania stron”.

Mówiąc prościej, Memcached to rozproszony system tymczasowego buforowania obiektów, który przechowuje ciągi i obiekty w pamięci RAM serwera powstałe w wyniku przetwarzania zapytań do bazy danych, wywołań API lub renderowania stron. Serwery używane do tego mechanizmu można nazwać serwerami Memcached.

Do czego służy Memcached?

Memcached służy do przyspieszania dynamicznych aplikacji internetowych, takich jak sklepy e-commerce, witryny do rejestracji/logowania itp. poprzez zmniejszenie obciążenia bazy danych. Przechowuje przetworzony wynik, więc za każdym razem, gdy odwiedzający ponownie zażąda tego samego zapytania, Memcached może na nie odpowiedzieć, zamiast przetwarzać zapytanie i odpowiadać. Dzięki temu, że serwer jest mniej zajęty, odwiedzający będą mieli szybszy czas ładowania i lepsze wrażenia użytkownika.

Na GitHub jest ciekawa i zabawna historia z prawdziwego świata, przeczytaj ją, aby zrozumieć typowy przypadek użycia Memcached.

Czy Twój obecny hosting WordPress jest słabszy?

Przejdź na Cloudways i zmaksymalizuj wydajność swojego WordPressa.

Uruchom teraz!

Jak działa Memcached?

Za każdym razem, gdy odwiedzający/przeglądarka żąda serwera, który wymaga przetworzenia i odpowiedzi bazy danych, zwiększa to obciążenie serwera. Memcached zmniejsza to obciążenie, przechowując obiekty danych w tymczasowej pamięci dynamicznej. Zapisuje dane w parach klucz-wartość i sprawdza swoją pamięć przed wysłaniem żądania przeglądarki do bazy danych. Jeśli pamięć podręczna jest obecna, odpowiada na żądanie bez angażowania bazy danych do przetworzenia.

Jak omówiono powyżej, Memcached to system buforowania obiektów w pamięci rozproszonej, który składa się z czterech głównych komponentów:

  • Oprogramowanie klienckie: Odbiera listę rozproszonych dostępnych serwerów Memcached.
  • Algorytm haszowania oparty na kliencie: wybiera serwer na podstawie par klucz-wartość.
  • Oprogramowanie serwera: przechowuje dane (wartości) i klucze w wewnętrznej tabeli mieszającej.
  • Algorytmy serwera: Określa, kiedy usunąć stare dane i ponownie wykorzystać pamięć.

Powyższe komponenty umożliwiają Memcached przechowywanie i pobieranie danych. Każdy element składa się z:

  • Klucz
  • Data ważności
  • Surowe dane

Gdy zażądano elementu, Memcached sprawdza jego czas wygaśnięcia, aby sprawdzić, czy element jest nadal ważny, zanim odpowie na żądanie. Jeśli pamięć podręczna nie jest obecna, wysyła żądanie do bazy danych w celu przetworzenia i przechowania wyniku jako elementu.

Jeśli serwer wyczerpie się z pamięci, szuka i zastępuje wygasłe elementy. Jeśli nadal potrzebuje jakichkolwiek informacji, szuka pozycji, których nie zażądał w danym okresie. Dzięki temu Memcached przechowuje ostatnio żądane informacje w pamięci dynamicznej.

Na wysokim poziomie Memcached działa w następujący sposób:

  1. Memcached sprawdza, czy żądane dane są przechowywane w pamięci podręcznej.
  2. Dwa możliwe wyjścia:
    – Dane są przechowywane w pamięci podręcznej: Zwróć żądane dane z Memcached bez przerywania bazy danych.
    – Dane nie są przechowywane w pamięci podręcznej: wykonaj żądane zapytanie, przetwórz i pobierz dane oraz zapisz wynik w pamięci.
  3. Za każdym razem, gdy pojawia się aktualizacja elementu lub element wygasa, Memcached aktualizuje swoją pamięć podręczną i upewnia się, że świeża zawartość jest dostarczana do żądanego klienta.

Jak korzystać z Memcached?

Korzystanie z Memcached obejmuje dwa kroki. Najpierw musi być zainstalowany na serwerze hostingowym, a następnie aplikacja powinna obsługiwać Memcached.

Proces instalacji i konfiguracji opisano poniżej:

Zainstaluj Memcached na serwerze

Memcached nie wymaga dużej ilości zasobów procesora. Zależy to wyłącznie od pamięci RAM. Jeśli masz serwer WWW z 8 GB pamięci RAM, ale system operacyjny i Twoje strony internetowe zużywają tylko 4 GB, dobrym pomysłem jest przypisanie reszty pamięci RAM do instancji Memcached, aby zwiększyć jego pojemność. Przeczytaj tutaj wszystkie wymagania techniczne .

Memcached działa na większości serwerów opartych na Linuksie, instalacja Memcached to tylko dwa polecenia Linuksa. Ogólnie rzecz biorąc, powinieneś zainstalować Memcached z pakietu dostarczonego przez twój system operacyjny (Debian, Ubuntu itp.). System operacyjny rozwiąże zależności i zadba o aktualizacje zabezpieczeń.

Dla użytkowników Debiana lub Ubuntu:

Polecenie: apt-get install memcached

Dla Redhata/Fedory:

Polecenie: mniam zainstaluj memcached

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją odpowiedniego systemu operacyjnego. Warto wspomnieć, że Nginx, jeden z najpopularniejszych serwerów reverse-proxy, jest fabrycznie wyposażony w moduł Memcached, zapewniający najbardziej elastyczne rozwiązanie w pakiecie Nginx Memcached.

IdeaBox – Studium przypadku

Przeczytaj, jak Cloudways pomogło agencji WordPress w tworzeniu lepszych produktów.

Pobierz studium przypadku już teraz!

Dziękuję

Twój ebook jest już w drodze do Twojej skrzynki odbiorczej.

Sprawdź, czy Memcached działa

Istnieje wiele sposobów sprawdzenia, czy Memcached jest uruchomiony. Jednym z nich jest użycie Telnetu, zalogowanie się do terminala SSH serwera i napisanie poniższej komendy:

 lokalny host telnet 11211

lub

 telnet 127.0.0.1 11211

PS: Powyższe polecenie zostanie uruchomione, jeśli serwer lokalny jest twoim serwerem Memcached.

Jeśli powyższe polecenie zostanie wykonane pomyślnie, otrzymasz poniższy wynik:

 Połączono z hostem lokalnym.
Znak ucieczki to '^]'.

W przeciwnym razie otrzymasz błąd połączenia .

Aby sprawdzić podstawowe statystyki, możesz użyć poniższego polecenia: stats

Otrzymasz coś takiego jak poniżej:

 STAT pid 313
STAT czas działania 2778636
STAT czas 1535727399
STAT wersja 1.4.21
STAT libevent 2.0.21-stabilny
STAT pointer_size 64
STAT użytkownik_użytkownika 47.119322
STAT rusage_system 48.765342
STAT bież_połączenia 1
STAT suma_połączeń 151198
STAT połączenia_struktury 3
STAT zarezerwowane_fds 20
STAT cmd_get 46
STAT cmd_set 4
STAT cmd_flush 0
STAT cmd_touch 0
STATYSTYKA get_hits 30
STAT get_misss 16
STAT usuń_chybione 0
STAT delete_hits 0
STAT incr_miss 0
STAT incr_hits 0
STAT decr_misss 0
STAT decr_hits 0
STAT cas_miss 0
STATYSTYKA cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misss 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bajty_odczyt 22942
STAT bajty_zapisane 3433252
STAT limit_maxbajtów 268435456
STAT akceptowanie_kons 1
STAT listen_disabled_num 0
Gwinty STAT 4
STAT conn_yield 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bajtów 106
STAT curr_items 1
STAT total_items 4
STAT wygasł_niepobrano 0
STAT Evicted_unfetched 0
STAT eksmisje 0
STAT odzyskane 0
STAT crawler_reclaimed 0
STAT lrutail_reflocked 0

Aby sprawdzić przedmioty, użyj: przedmiotów statystyk

Wynik:

 Pozycje STAT: 2: numer 1
Pozycje STAT: 2: wiek 2486
Pozycje STAT: 2: eksmisja 0
Pozycje STAT: 2:eksmitowany_niezerowy 0
Pozycje STAT: 2: evicted_time 0
Pozycje STAT: 2: brak pamięci 0
Pozycje STAT: 2: naprawa ogona 0
Pozycje STAT: 2: odzyskane 0
Pozycje STAT: 2:expired_unfetched 0
Pozycje STAT: 2: evicted_unfetched 0
Elementy STAT: 2:crawler_reclaimed 0
Elementy STAT: 2:lrutail_reflocked 0

Aby sprawdzić aktualne statystyki pamięci napisz: stats slabs

Wynik:

 STAT 2: rozmiar_fragmentu 120
STAT 2: kawałki_na_stronę 8738
STAT 2: suma_stron 1
STAT 2: suma_kawałków 8738
STAT 2: used_chunks 1
STAT 2: free_chunks 8737
STAT 2: free_chunks_end 0
STAT 2: mem_requested 106
STATYSTYKA 2: get_hits 30
STAT 2: cmd_set 4
STAT 2: usuwanie_hitów 0
STATYSTYKA 2: incr_hits 0
STAT 2: decr_hits 0
STAT 2: cas_hits 0
STAT 2: cas_badval 0
STAT 2: touch_hits 0
STAT aktywne_slaby 1
STAT total_malloced 1048560

Aby zakończyć ten typ połączenia, zakończ i naciśnij enter .

Istnieje lista przydatnych poleceń do uruchamiania i sprawdzania serwerów Memcached.

Samouczek Memcached dla innych platform:

  • Jak skonfigurować Memcached w sklepie Magento?
  • Jak skonfigurować Memcached w PHP
  • Jak skonfigurować Memcached na Joomla
  • Jak skonfigurować Memcached w Yii 2
  • Jak skonfigurować PrestaShop z Memcached
  • Jak skonfigurować Memcache na swojej stronie Drupal 7?

Memcached dla użytkowników Cloudways

Użytkownicy Cloudways nie muszą się martwić o wszystkie szczegóły techniczne związane z WordPress Memcached. Wszystkie serwery uruchomione na platformie Cloudways były wstępnie zainstalowane i aktywowane Memcached.

Przejdź do odpowiedniego serwera → Zarządzaj usługami, a zobaczysz, że Memcached jest wstępnie zainstalowany i domyślnie aktywowany.

Memcached WordPress

Nie jesteś klientem Cloudways, ale chcesz skorzystać z Memcached? Uzyskaj BEZPŁATNY okres próbny bez podawania danych karty kredytowej.

Wtyczka WordPress Memcached

Na rynku dostępnych jest wiele wtyczek pamięci podręcznej WordPress . Większość z nich obsługuje Memcached, podobnie jak W3TC, jedna z najczęściej używanych wtyczek pamięci podręcznej, która pozwala skonfigurować Memcached. Jeśli jesteś jednym z użytkowników W3TC, przejdź do zakładki Ustawienia ogólne i wybierz Memcached z menu rozwijanego, gdzie jest napisane:

  • Pamięć podręczna strony
  • Zminimalizuj pamięć podręczną
  • Pamięć podręczna bazy danych

W3TC WordPress Memcached

Zapisz wszystkie ustawienia i nie zapomnij raz wyczyścić pamięci podręcznej.

Końcowe przemyślenia

Memcached jest uważany za jeden ze sposobów na przyspieszenie prawidłowo skonfigurowanej witryny WordPress, ponieważ zmniejsza obciążenie bazy danych i utrzymuje serwer mniej zajęty, co zapewnia lepszą wydajność i czas ładowania strony.