W artykule:
Witamy w nowym rozdziale naszej serii buforowania WordPress, gdzie dowiemy się, jak działa buforowanie WordPress. Zanim przejdziemy do sedna tego tematu, upewnij się, że uważnie śledziłeś każdy z poprzednich tematów (z tej serii), ponieważ ten rozdział wykorzystuje wiedzę z nich. Na początek porozmawiajmy o dwóch podstawowych typach dostępnych protokołów buforowania, opartych na modelu klient-serwer:
- Buforowanie po stronie klienta i
- Buforowanie po stronie serwera
Buforowanie Po Stronie Klienta

Strona internetowa zawiera wiele nietekstowych, statycznych danych, takich jak obrazy, pliki CSS i Javascript. Po ich pobraniu przeglądarka jest wystarczająco inteligentna, aby nie pobierać ich ponownie za każdym razem, gdy naciśniesz przycisk F5. Po prostu serwuje te dane z lokalnej pamięci podręcznej – tj. dane zapisane w pamięci podręcznej na dysku twardym komputera. Dlatego zaleca się czyszczenie pamięci podręcznej przeglądarki raz na jakiś czas – oszczędza to dużo miejsca i poprawia wydajność.
Ten proces ponownego wykorzystania buforowanych danych z KOMPUTERA Klienta (lub końca klienta) jest znany jako buforowanie po stronie klienta i prawie każda nowoczesna strona internetowa z niego korzysta i każda przeglądarka go obsługuje. Buforowanie po stronie klienta pomaga zapobiegać redundancji danych (tj. pobieranie tych samych danych w kółko), a tym samym oszczędza wiele zasobów serwera, a co najważniejsze – czas!
Buforowanie Po Stronie Serwera

Buforowanie po stronie serwera obejmuje wszystkie różne protokoły buforowania, które są używane w buforowaniu WordPress. Obejmują one następujące:
- Buforowanie strony
- Buforowanie zapytań do bazy danych
- Buforowanie oparte na obiektach
- Buforowanie kodu Opcode
WordPress wykorzystuje te cztery główne protokoły buforowania po stronie serwera. Przyjrzymy się każdemu z nich indywidualnie i zobaczymy, jak buforowanie każdego z nich może zaoszczędzić wiele cennego czasu obliczeniowego, przyspieszając w ten sposób Twoją stronę.
Buforowanie Strony
Buforowanie strony jest najprostszym ze wszystkich protokołów buforowania i założę się, że już o tym wiesz. Odnosi się po prostu do procesu zapisywania dynamicznie generowanych plików HTML na dysku twardym lub w pamięci (RAM) serwera (powszechnie znanej jako „pamięć podręczna”) i serwowania ich z pamięci podręcznej (tj. ponownego wykorzystania wcześniej wygenerowanych danych) za każdym razem, gdy wystąpi żądanie. Pozwala to zaoszczędzić koszty związane z wykonywaniem kodu PHP i zapytań do bazy danych MySQL.
Buforowanie Bazy Danych
Pierwszą rzeczą, którą należy wiedzieć o bazach danych, jest to, że są ogromne i głodne zasobów. Są one dosłownie sercem każdej firmy-czy to w Internecie, czy w inny sposób. To samo dotyczy WordPressa. Celem bazy danych jest efektywne przechowywanie, aktualizacja i dostarczanie danych. Ponieważ są one zazwyczaj ogromne, każde zapytanie wymaga czasu (zwykle rzędu kilkuset mikrosekund). Lepszy sprzęt, szybsze generowanie wyników zapytań. Pomyśl o tym. Ponieważ WordPress jest w dużym stopniu zależny od swojej bazy danych, co jakiś czas wysyła zapytanie. A gdy dane nie są zmieniane w bazie danych, wykonywanie zapytań w celu pobrania tych samych danych jest podobne do ponownego pobierania tych samych obrazów w kółko-jak omówiono w buforowaniu po stronie klienta. Dlatego zapisywanie wyników zapytania w lokalnej pamięci masowej ma sens, prawda? To zapisywanie wyników zapytań do bazy danych w pamięci lokalnej nazywa się buforowaniem bazy danych i jest jednym z podstawowych czynników buforowania WordPress.
Jednak po zaktualizowaniu bazy danych (na przykład po zaktualizowaniu lub opublikowaniu postu lub przesłaniu komentarza) bardzo ważne jest, aby wcześniej zapisana pamięć podręczna bazy danych została usunięta i ponownie buforowana wyniki zapytań do bazy danych. Nie jest to zbędne, ponieważ pomaga wyeliminować nieistotne lub błędne wyniki zapytań do bazy danych.
Buforowanie obiektów
WordPress ma wewnętrzny system buforowania, który zawiera kilka podsystemów (tj. Rdzeń WordPress pozwala wtyczkom kontrolować ten system buforowania, aby zmniejszyć liczbę połączeń z bazą danych. Jest to dość zaawansowany temat i nie jest zbyt istotny dla codziennego użytkownika.
Buforowanie kodu Opcode
Podobnie jak buforowanie bazy danych, gdzie ideą jest zmniejszenie liczby zapytań do bazy danych, buforowanie opcode odnosi się do zapisywania skompilowanego kodu PHP między każdym żądaniem. Jeśli spojrzysz na dowolny plik PHP, zobaczysz, że kod jest w rzeczywistości listą instrukcji używanych przez kompilator. PHP jest obiektowym językiem programowania i ma swoje zalety Od samego początku! Aby wykonać kod PHP, kompilator PHP musi najpierw skompilować kod i wygenerować kod wykonywalny do wykonania przez serwer WWW. Buforowanie wyjścia kompilatora PHP do wielu egzekucji, jest tym, czym jest buforowanie kodu opcode. Ponownie, to są wewnętrzne rzeczy-rzeczy, o które nie powinieneś się martwić!
Przechowywanie lokalne-pierwotne a wtórne

Aby zaimplementować buforowanie po stronie serwerów w dowolnej formie, rozumie się, że dane muszą być przechowywane w lokalnej pamięci masowej. Termin „local storage” może oznaczać jedną z dwóch rzeczy. Jednym z nich jest dysk twardy serwera, a drugim pamięć podstawowa serwera – tj. PAMIĘĆ RAM.
PAMIĘĆ RAM, która oznacza pamięć o dostępie losowym, jest formą pamięci ulotnej i jest o rząd wielkości szybsza niż dyski twarde, która jest formą nieulotnej, dodatkowej pamięci masowej. Jest też droższy. Oczywiście, że wszyscy o tym wiecie.
Miejsce, w którym zapisujesz buforowane dane, robi ogromną różnicę. Jeśli jest na dysku twardym, to jest zdecydowanie wolniejszy niż gdy jest przechowywany w pamięci RAM. Ponownie liczy się szybkość dysku twardego. Dyski twarde serwerów wahają się od 7,200 RPM do 15,000 RPM i mogą mieć różne poziomy RAID – RAID 0 jest najszybszy i najbardziej niebezpieczny, RAID 4 jest właściwą równowagą. Masz również dyski SSD. W związku z tym lokalizacja buforowanych danych ma poważny wpływ na szybkość.
Dla osób na współdzielonych serwerach hostingowych nie masz wyboru, jak tylko zapisać go na dysku twardym. Dla osób posiadających własny serwer dedykowany lub VPS, masz dodatkową opcję zapisania pamięci podręcznej w pamięci podstawowej, co ponownie należy zrobić z dużą ostrożnością – Niewłaściwa konfiguracja może prowadzić do niestabilności (wyczerpania pamięci RAM itp.) i częstych awarii serwera.
Wniosek
Teraz, gdy masz dobre zrozumienie różnych protokołów buforowania WordPress, dojdźmy do centralnego punktu naszej serii postów – jak wdrożyć buforowanie WordPress.
Jeśli masz jakieś pytania lub sugestie dotyczące ulepszenia tego rozdziału, prosimy o zadawanie pytań lub dzielenie się nimi-z przyjemnością wysłuchamy Twoich myśli!