To wersja testowa nowego serwisu infoShare Academy — wyświetlane treści i oferta nie są wiążące ani kompletne

Backend

PHP – Wydajność i cache

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

Czas trwania
16h · 2 dni
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.

Profilowania aplikacji PHP przy pomocy Xdebug profiler — znajdowanie wąskich gardeł zamiast zgadywania

Identyfikacji i naprawy N+1 queries — najczęstszego problemu wydajnościowego w aplikacjach PHP

Optymalizacji zapytań SQL — EXPLAIN ANALYZE, indeksy, selektywna denormalizacja

Cache’owania na poziomie aplikacji — Symfony Cache / PSR-6, Redis jako backend

Strategii invalidacji cache’a — TTL, tag-based, event-driven

Cache’owania HTTP — Cache-Control, ETag, Last-Modified, koncepcja reverse proxy

Read modelu — denormalizacja danych pod wydajne odczyty, synchronizacja przez zdarzenia domenowe

Wymagania

Co warto wiedzieć przed startem

  • PHP 8.3+: architektura warstwowa, serwisy, repozytoria
  • Testy PHPUnit: unit i integracyjne
  • MySQL: zapytania SQL, PDO lub Doctrine DBAL
  • Docker i Composer
Program

Co konkretnie robimy

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

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ą

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

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

Co robimy z Twoimi danymi

Dane służbowe (imię, e-mail firmowy, telefon, firma, stanowisko) przetwarzamy w celu obsługi zapytania o szkolenie dla firmy i przygotowania oferty. Administratorem danych jest infoShare Academy Sp. z o.o., Al. Grunwaldzka 472B, 80-309 Gdańsk. Podanie danych jest dobrowolne, ale niezbędne do udzielenia odpowiedzi. Masz prawo dostępu do danych, ich sprostowania, usunięcia, ograniczenia przetwarzania i wniesienia sprzeciwu. Pełną informację znajdziesz w Klauzuli informacyjnej.

Zgody marketingowe (dobrowolne)

Administratorem danych osobowych jest infoShare Academy sp. z o.o. Zasady przetwarzania danych osobowych znajdują się w dokumentach Polityka Prywatności oraz Klauzula Informacyjna.