Większość właścicieli WordPress uważa że performance problem to wtyczka. Mówią „zainstalmy WP Super Cache” i gotowe. To powierzchowne podejście. Prawda jest taka — backend optymalizacja to 80% pracy. Cache’u to tylko ostatnie 20%.

Pracując z infrastrukturą setek WordPress instancji, widzę ciągle te same błędy: nieoptymalne queries, brak indexów, słaba konfiguracja PHP, zbyt mało RAM. Każdy z tych problemów może 10x zwolnić stronę.

Baza danych — domownicy najczęstszych problemów

Każda strona robi setki zapytań do bazy. Problem: wiele z nich jest redundantnych. Zainstaluj Query Monitor (wtyczka). Zobaczysz że jedna query wykonuje się 10 razy na jednej stronie. To szaleństwo.

Rozwiązanie: Object cache. Redis lub Memcached. Cachują wyniki queries w RAM zamiast w bazie. Rezultat: zapytania które wcześniej zajmowały 200ms teraz zajmują 1ms. Różnica jest kolosalna.

Case study: Klient z 150k visitors/miesiąc. Czas ładowania 3.5 sekundy. Zainstalowaliśmy Redis Object Cache. Czas ładowania spadł do 0.9 sekundy. Bez żadnych zmian w kodzie. Tyle możliwości czeka.

MySQL — indexes to klucz

Baza danych bez indexes to jak czytanie książki bez spisu treści — musisz przejrzeć każdą stronę. Indexes są właśnie spis treści.

Jeśli queryujesz post_author, post_status, post_date — dodaj indexes na te kolumny. MySQL będzie szukał szybciej. Setup:

ALTER TABLE wp_posts ADD INDEX idx_post_author (post_author); ALTER TABLE wp_posts ADD INDEX idx_post_status (post_status);

Efekt: query które zajmowała 500ms teraz zajmuje 10ms. Nie wierzysz? Sprawdź sam w EXPLAIN.

PHP Opcode cache — tajniczy booster

Każdy request: PHP konwertuje kod na opcode, wykonuje, usuwa. Konwersja to zajmuje czas. Opcode cache (OPcache) cachuje konwersję.

Większość hostingów ma OPcache. Ale sprawdź php.ini: opcache.memory_consumption powinno być minimum 128MB. Jeśli 32MB, zwiększ.

Efekt: 50-70% speedup na PHP level. To nie placebo.

Monitoring — wiesz gdzie problem?

Bez danych to strzały na ślepo. Zainstaluj New Relic czy Blackfire. Profile’uj aplikację. Odkryj dokładnie które funkcje są powolne, które queries najczęściej się wykonują.

Wtedy optymalizujesz mądrze — nie wierzysz na wyobraźnię tylko na dane.