Backend

Szkolenie PHP – Wydajność i cache

Warsztat uczy systematycznego podejścia do wydajności — nie zgadywania, lecz mierzenia.

Czas trwania
16h / 2 dni · 2h
Dla kogo

Idealny dla zespołów, które…

1 Absolwentów ścieżki szkoleniowej PHP (Zaawansowany lub Architektura), chcących pogłębić wiedzę o wydajności
2 Developerów PHP pracujących z aplikacjami, które „działają, ale wolno”
3 Programistów, którzy chcą nauczyć się profilowania i cache’owania zamiast zgadywania co jest wolne
4 Zespołów odpowiedzialnych za wydajność produkcyjnych aplikacji PHP
Efekty po programie

Solidny backend i architektura — wzorce sprawdzone w środowisku produkcyjnym.

PHP 8.3+: architektura warstwowa, serwisy, repozytoria

Testy PHPUnit: unit i integracyjne

MySQL: zapytania SQL, PDO lub Doctrine DBAL

Docker i Composer

Program · 4 modułów

Co konkretnie robimy

M01
Dzień 1 · Etap 1: Profilowanie — znajdź wąskie gardło
  • · Xdebug profiler — konfiguracja, generowanie profili
  • · Czytanie profili — identyfikacja hot paths i najwolniejszych ścieżek
  • · Metryki bazodanowe — EXPLAIN ANALYZE, slow query log
  • · Benchmarking — pomiar czasu odpowiedzi (baseline do porównań)
  • · Efekt: Uczestnicy mają baseline metryk i wiedzą, gdzie są wąskie gardła
M02
Dzień 1 · Etap 2: Optymalizacja zapytań
  • · N+1 queries — identyfikacja w Doctrine DBAL (pętla z zapytaniem wewnątrz pętli), batch loading
  • · Indeksy — kiedy pomagają, kiedy nie, composite indexes
  • · Query optimization — przepisywanie wolnych zapytań, selektywna denormalizacja
  • · Pomiar po optymalizacji — porównanie z baseline
  • · Efekt: Najczęstsze problemy bazodanowe zidentyfikowane i naprawione z mierzalną poprawą
M03
Dzień 2 · Etap 3: Strategie cache’owania
  • · Symfony Cache / PSR-6 — konfiguracja, adaptery (filesystem, Redis)
  • · Cache patterns — cache-aside, read-through
  • · Identyfikacja hot data vs cold data
  • · Praktyka: cache’owanie listingu produktów i danych katalogowych
  • · TTL — proste, ale ryzykowne (stale data)
  • · Tag-based invalidation — Symfony Cache tags
  • · Event-driven invalidation — cache invalidacja na zdarzenie domenowe
  • · Cache-Control, ETag, Last-Modified — nagłówki HTTP
  • · Koncepcja reverse proxy (Varnish/Nginx) — konfiguracja Cache-Control w Symfony Response
  • · CDN — kiedy i co delegować
  • · Efekt: Aplikacja ma cache na trzech poziomach; invalidacja działa poprawnie
M04
Dzień 2 · Etap 4: Read model i podsumowanie
  • · Read model — denormalizacja danych pod wydajne odczyty
  • · Kiedy read model ma sens — heavy reads vs light reads
  • · Implementacja: osobna tabela zoptymalizowana pod listingi
  • · Synchronizacja read modelu przez zdarzenia domenowe
  • · Pomiar końcowy — porównanie z baseline z etapu 1
  • · Retrospektywa — co dało największy efekt, co było over-engineering
  • · Efekt: Uczestnicy mają kompletny zestaw narzędzi do diagnozowania i naprawiania problemów wydajnościowych
Każdy moduł modyfikujemy pod Twój stack i kontekst. Powyższe to punkt wyjścia — nie sztywna agenda.
Jak pracujemy

Od briefu do retro w 30 dniach.

01

Brief i diagnoza

Rozmowa z liderem zespołu + krótka ankieta dla uczestników. Określamy cele, gap, kontekst.

02

Modyfikacja programu

Dostosowujemy moduły, case studies i przykłady kodu pod Twój stack. Akceptacja w 5 dni.

03

Warsztat

Sesje z trenerem, hands-on, code review. Mentor dostępny też pomiędzy sesjami.

04

Retro + raport

Raport z efektami dla zespołu i lidera. 30 dni konsultacji w cenie.

Zapytanie

Wyślij brief. Odezwiemy się w 1 dzień.

Po krótkim briefie przygotujemy program i wycenę. Bez zobowiązań — to tylko punkt wyjścia do rozmowy.

Wycena w 48h od briefu
Pierwsza sesja w 30 dni
Pilotaż przed pełną decyzją
Faktura VAT, możliwość płatności w transzach

Ochrona antyspamowa (Cloudflare Turnstile) zostanie aktywowana po wpięciu klucza.