Użyj Memcached, aby zmniejszyć obciążenie bazy danych w witrynie WordPress
Opublikowany: 2018-11-30
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
- Co to jest Memcached?
- Do czego służy Memcached?
- Jak działa Memcached?
- Jak korzystać z Memcached?
- Instalowanie Memcached na serwerze
- Sprawdź, czy Memcached działa
- Memcached dla użytkowników Cloudways
- Wtyczka WordPress Memcached
- 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.
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:
- Memcached sprawdza, czy żądane dane są przechowywane w pamięci podręcznej.
- 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. - 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.
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.

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

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.
