Dlaczego dobrze jest poznać PgBouncer? W rosnącej liczbie środowisk produkcyjnych PostgreSQL nie ogranicza nas moc obliczeniowa serwera, lecz koszty i opóźnienia związane z zestawianiem oraz utrzymywaniem połączeń. Aplikacje webowe oraz mikroserwisy generują obecnie dużą liczbę bardzo krótkotrwałych żądań. W efekcie — nawet relatywnie lekki workload może powodować degradację wydajności.
PgBouncer jest standardowym i sprawdzonym elementem architektury skalowalnego PostgreSQL. Jego poprawna konfiguracja pozwala znacząco obniżyć overhead związany z połączeniami, ustabilizować latency, oraz ograniczyć zużycie zasobów.
W trakcie jednodniowego warsztatu uczestnicy przejdą przez pełen cykl pracy z PgBouncer:
-
od podstawowych koncepcji architektury connection pooling w PostgreSQL,
-
przez praktyczną konfigurację i różnice między trybami Session / Transaction / Statement,
-
aż po optymalizację parametrów i integrację ze środowiskami HA.
Część popołudniowa koncentruje się na pracy warsztatowej oraz analizie scenariuszy produkcyjnych: dobieranie właściwych wartości pool size, obsługa failover, metryki i monitoring, bezpieczeństwo oraz case studies pod typowe środowiska (aplikacje webowe, API, Kubernetes, kontenery).
Celem szkolenia jest nabycie umiejętności świadomego wykorzystania PgBouncera, a nie jedynie “instalacji i uruchomienia”. Uczestnik — po zakończeniu — będzie potrafił:
-
dobrać właściwą strategię connection pooling do profilu aplikacji,
-
zaprojektować konfigurację pod wysoką dostępność,
-
skutecznie diagnozować problemy z połączeniami,
-
wdrożyć dobre praktyki utrzymaniowe w środowisku produkcyjnym.
Szkolenie jest przeznaczone dla: DBA, DevOps, inżynierów backendu oraz architektów odpowiedzialnych za wydajność i niezawodność systemów opartych o PostgreSQL.
1. Wprowadzenie
- Czym jest PgBouncer i dlaczego jest potrzebny?
- Problemy z wydajnością połączeń PostgreSQL
- Architektura connection pooling
- Use cases i korzyści
2. Podstawy konfiguracji
- Struktura plików konfiguracyjnych
- Tryby pracy: Session, Transaction, Statement
3. Praktyczna konfiguracja
4. Zaawansowana konfiguracja
- Optymalizacja pool size
- Monitorowanie i metryki
- Authentication methods
- SSL configuration
- Load balancing i failover
5. Hands-on lab
- Ćwiczenie: Konfiguracja dla wysokiej dostępności
- Ćwiczenie: Rozwiązywanie typowych problemów
6. Case studies i best practices
- Wzorce dla aplikacji webowych
- Integracja z Docker/Kubernetes
- Performance tuning
- Zabezpieczenia
- Sesja Q&A