W poprzednim wpisie pokazałem problem popularnych wtyczek Redis dla WordPressa i za pomocą „hacka” zmusiliśmy system do użycia binarnej serializacji (igbinary) oraz kompresji w locie (Zstandard). Nasz serwer Valkey/Redis działa teraz na najwyższych obrotach, upychając dane jak nigdy dotąd.
Ale inżynieria systemowa nie polega na ślepej wierze, że „skoro wdrożyliśmy, to działa”. Skoro odrzuciliśmy wykresy z panelu WordPressa jako niewiarygodne, musimy mieć narzędzia, by udowodnić skuteczność naszej infrastruktury. W tym wpisie pokażę Ci, jak wyciągnąć kluczowe metryki bezpośrednio z serwera cache, używając wyłącznie powłoki i narzędzia valkey-cli.
Wszystkie poniższe komendy wykonujemy z poziomu hosta FreeBSD, przesyłając je bezpośrednio do naszej klatki z bazą za pomocą bastille.
(Pamiętaj, aby we wszystkich poleceniach podmienić klatka_kliencka_valkey, ip_redis/valkey oraz TwojeHaslo na dane zgodne ze swoim środowiskiem).
Hit Ratio: Prawdziwy wskaźnik skuteczności Twojego Cache’u
To najważniejsza metryka. Mówi ona o tym, jak często WordPress znajduje dane w szybkiej pamięci RAM (Hit), a jak często musi omijać Valkey lub Redis i uderzać do wolniejszej bazy SQL (Miss). Odpytajmy o to system:
bastille cmd klatka_kliencka_valkey /usr/local/bin/valkey-cli -h ip_redis/valkey -a TwojeHaslo INFO stats | grep keyspace
Na ekranie zobaczysz dwie kluczowe linie:
keyspace_hits:845302
keyspace_misses:12044
Jak to interpretować?
Skuteczność obliczamy wzorem: Hits / (Hits + Misses) * 100. W powyższym przykładzie skuteczność wynosi ponad 98%. W dobrze zoptymalizowanym WordPressie współczynnik ten powinien zawsze oscylować powyżej 90-95%. Jeśli masz dużo „missów”, oznacza to, że cache jest za mały (i usuwa dane) lub jakaś wtyczka źle korzysta z pamięci podręcznej.
Zużycie pamięci: ZSTD w akcji
W ekosystemie BSNM narzucamy twarde limity na instancje (np. 128 MB RAM). Czas sprawdzić, jak kompresja Zstandard, którą wdrożyliśmy, ratuje nas przed wyczerpaniem tego zasobu.
bastille cmd klatka_kliencka_valkey /usr/local/bin/valkey-cli -h ip_redis/valkey -a TwojeHaslo INFO memory
Przeskanuj wzrokiem wynik w poszukiwaniu tych parametrów:
- used_memory_human: Całkowita ilość pamięci fizycznie zajętej przez klucze. Zdziwisz się, jak mała to wartość w stosunku do ruchu, który generuje WordPress (dzięki kompresji!).
- maxmemory_human: Twój narzucony limit (np. 128M).
- mem_fragmentation_ratio: Wskazuje na „zdrowie” pamięci operacyjnej przydzielonej przez system. Wartość bliska 1.0 to ideał.
Tryb MONITOR: Śledzenie zapytań
Jeśli masz problem ze stroną i podejrzewasz, że jakaś wtyczka generuje tysiące niepotrzebnych zapytań, „zarzynając” bazę danych, Valkey oferuje fenomenalne narzędzie diagnostyczne. Pozwala ono na żywo podejrzeć każdą, najdrobniejszą operację przesyłaną z PHP do bazy.
bastille cmd klatka_kliencka_valkey /usr/local/bin/valkey-cli -h ip_redis/valkey -a TwojeHaslo MONITOR
Twój terminal natychmiast eksploduje ścianą przeskakującego tekstu – zobaczysz tu każdy GET, SET i HGETALL wysyłany przez WordPressa.
Uwaga: Polecenie MONITOR obciąża serwer bazy (redukując jego przepustowość nawet o połowę), dlatego używaj go wyłącznie do krótkotrwałego debugowania. Aby przerwać podgląd, wciśnij po prostu Ctrl + C.
Interaktywny Dashboard z CLI (–stat)
Nie potrzebujesz zasobożernych paneli instalowanych w WordPressie, aby mieć przed oczami żywe statystyki swojej bazy. Narzędzie powłoki posiada wbudowany, lekki dashboard, który odświeża się co sekundę.
Wywołaj tę komendę:
bastille cmd klatka_kliencka_valkey /usr/local/bin/valkey-cli -h ip_redis/valkey -a TwojeHaslo --stat
Terminal zamieni się w dynamiczną tabelę pokazującą na żywo w jednej linii:
keys: Całkowitą liczbę kluczy przetrzymywanych w pamięci.
mem: Pobór RAM-u w czasie rzeczywistym.
clients: Aktualną liczbę aktywnych połączeń (procesów PHP z Twojej klatki webowej).
req/s: Ilość zapytań obsługiwanych w każdej sekundzie (QPS).
Podsumowanie
Optymalizacja jest na nic, jeśli nie potrafisz jej zweryfikować. Opuszczenie ładnego, ale często wprowadzającego w błąd interfejsu przeglądarki na rzecz surowych narzędzi CLI uczy prawdziwej kontroli nad serwerem. Masz teraz w ręku porządnie zoptymalizowany cache oraz narzędzia, by udowodnić jego niezawodność.
