Pamięć podręczna WordPress: co można buforować i jak to robimy

Opublikowany: 2017-04-28

Chcesz, aby Twoja witryna działała szybko. Jedną z technologii, która przyczynia się do szybkości witryny, jest buforowanie. Buforowanie to zestaw technik programowych i sprzętowych, które przechowują dane, dzięki czemu są one szybko dostępne dla przyszłych żądań. W tym artykule wyjaśnimy, czym jest pamięć podręczna WordPress, jak można ją wdrożyć na wielu różnych poziomach i jak dbamy o wszystko za Ciebie, abyś nie musiał się tym martwić.

Co to jest buforowanie?

W informatyce istnieje coś, co nazywa się „pamięcią podręczną”, w której oprogramowanie lub komponent sprzętowy jest używany do tymczasowego przechowywania wartości i szybszego ich pobierania w przyszłości. Wartości, takie jak zapytania MySQL lub skompilowany kod bajtowy PHP, a także zduplikowane dane, takie jak HTML i obrazy. Prawie wszystko.

Korzyści z buforowania

Wykonując kopie danych i umieszczając je w komponencie „caching”, zyskujemy znaczną przewagę wydajnościową. Twoi goście mogą pobierać zawartość z pamięci podręcznej znacznie szybciej niż z pamięci podręcznej. Zawartość z pamięci podręcznej może zostać pobrana szybciej przez odwiedzających niż bez pamięci podręcznej. Składniki pamięci podręcznej to zwykle pamięć, ale może to być wszystko, co może być szybsze niż konwencjonalna pamięć masowa. Ale ile możesz zyskać na poprawie wydajności?
Wszystko zależy od tego, ile danych można buforować, ale ogólnie rzecz biorąc, poprawa wydajności o jedną całą sekundę nie jest niczym niezwykłym.

Co można zapisać w pamięci podręcznej?

Istnieje kilka poziomów, w zależności od tego, jak daleko chcesz się posunąć w optymalizacji swojej witryny za pomocą pamięci podręcznej.

Wyjście HTML

Pierwszym sposobem jest buforowanie samej strony HTML. Istnieje wiele wtyczek pamięci podręcznej WordPress, takich jak WP Rocket i W3 Total Cache, które to robią i wiele więcej. Te wtyczki buforują wyniki danych wyjściowych HTML, oszczędzając czas na przyszłe żądania. Dodatkowo każda wtyczka zapewnia mechanizm unieważniania pamięci podręcznej, dzięki czemu możesz wyświetlać zawartość niebuforowaną, gdy tylko chcesz.

Inną techniką jest „minifikowanie” HTML, czyli zmniejszanie go. Daje to kilka kilobajtów na stronę, ale z czasem się sumuje.

Aby to zrobić, będziesz potrzebować dostępu do pulpitu nawigacyjnego lub sposobu na zainstalowanie wtyczek do WordPressa.

Odniesienie:

  • Rakieta WP
  • Wtyczka W3 Total Cache WordPress

Pamięć podręczna PHP

OpCaching to technika, w której PHP pobiera źródłowe pliki PHP i kompiluje je do postaci pośredniej, zwanej kodem bajtowym. Kod bajtowy jest jak kod maszynowy komputera, ale odnosi się do kodu maszynowego, który jest wykonywany przez „maszynę wirtualną” (w tym przypadku PHP), a nie przez prawdziwą. Ponieważ jest to kod maszynowy i znajduje się w pamięci, można go wykonać znacznie szybciej niż interpreter PHP analizujący polecenie na raz i wykonujący je.

Buforowanie na tym poziomie przechowuje te dane kodu bajtowego w pamięci, dzięki czemu aplikacja może być wykonywana szybciej.

Aby włączyć PHP OpCache, musisz mieć dostęp do pliku konfiguracyjnego PHP.

Odniesienie: OpCache

Hostuj swoją stronę internetową z Pressidium

60- DNIOWA GWARANCJA ZWROTU PIENIĘDZY

ZOBACZ NASZE PLANY

Pamięć podręczna obiektów PHP

Jest to buforowanie, które odbywa się na poziomie OOP języka. PHP jest językiem zorientowanym obiektowo, co oznacza, że ​​używa pojęcia „obiektów” do opisywania logiki, danych i pomysłów. Podczas działania aplikacji obiekty te są stale tworzone i niszczone (dynamicznie, przez podsystem zwany odśmiecaczem). Proces tworzenia i inicjalizacji tych obiektów wymaga czasu. Buforowanie obiektów rozwiązuje ten problem, buforując same obiekty.

Jest to realizowane za pomocą wtyczek, takich jak Memcached i inne dla Redis. Redis to potężny magazyn struktury danych w pamięci, który może być używany jako baza danych. Memcached to rozproszony system buforowania obiektów. Oba są doskonałym wyborem do buforowania na tym poziomie.

Będziesz musiał mieć dostęp do konfiguracji PHP, aby włączyć buforowanie obiektów PHP. Będziesz także potrzebować dostępu do instancji Redis lub Memcached.

Odniesienie

  • Wtyczki Redis WordPress
  • Wtyczka Memcached WordPress
  • Dokumentacja Redis
  • Memcached Wiki

Buforowanie zapytań MySQL

To ten sam pomysł, ale jest stosowany na poziomie bazy danych. Baza danych zwraca zestaw danych zgodny z wprowadzonym zapytaniem. Jeśli możesz buforować wyniki tych zapytań, to następnym razem, gdy ktoś użyje tego zapytania, uzyska dane znacznie szybciej, ponieważ będą one przechowywane w pamięci podręcznej.

W tym celu musisz mieć dostęp do serwera bazy danych.

Odniesienie: Pamięć podręczna zapytań MySQL 8.0

Aby wszystko to było prawidłowo skonfigurowane i utrzymywane, wymagane jest wiele rzeczy. Wiedza techniczna, czas, a nawet pieniądze, jeśli brakuje Ci doświadczenia. Ale możemy w tym wszystkim pomóc.

Jak rozwiązujemy wszystko za pomocą buforowania wielowarstwowego Pressidium.

Odpowiedź jest prosta. Cache wdrożyliśmy wszędzie: na wszystkich warstwach WordPressa.

Dla wyjścia HTML implementujemy dwie warstwy buforowania, hot i warm . Te warstwy są częścią naszego adaptacyjnego silnika pamięci podręcznej. Nasz silnik może również profilować Twoją witrynę i egzekwować najskuteczniejsze zasady buforowania. Ale omówimy więcej szczegółów w innym artykule. Tak więc gorąca pamięć podręczna to dane, które znajdują się w pamięci i można do nich szybko uzyskać dostęp. Ciepła pamięć podręczna to dane przechowywane na najnowocześniejszych dyskach SSD. Zwiększa to ogólne współczynniki trafień w pamięć podręczną i powoduje, że Twoja witryna działa znacznie lepiej w porównaniu z konwencjonalną pamięcią masową.

Dla naszych klientów korporacyjnych zbudowaliśmy system buforowania obiektów przy użyciu doskonałego magazynu struktury danych w pamięci Redis. Wreszcie buforowanie zapytań MySQL. Jest to domyślnie włączone i stale monitorowane przez nasze DevOps. Buforowanie zapytań MySQL może dostarczyć cennych informacji dotyczących wydajności Twojej witryny.

Należy zauważyć, że wszystkie te elementy są zaimplementowane w backendzie naszej Platformy, a nie za pośrednictwem jakiejś wtyczki pamięci podręcznej WordPress. Oznacza to, że a) używamy zewnętrznych serwerów do przechowywania, więc nie obciążamy zasobów Twojego serwera oraz b) przechowujemy dane w pamięci, do której dostęp jest szybszy niż na dysku.

Niezależnie od Twoich potrzeb w zakresie buforowania i budżetu, możemy je dostarczyć.