Ekspert wydajności Java / JVM

Twoja aplikacja Java zwalnia, dławi się albo pada na produkcji?

Diagnozuję i rozwiązuję produkcyjne problemy wydajnościowe aplikacji Javowych — od wycieków pamięci i pauz GC, po długie czasy odpowiedzi, wysokie użycie CPU i awarie wymagające nieszablonowego spojrzenia. Programuję od ponad 30 lat, zawodowo z JVM jestem związany od 20.

30+
lat programowania
20+
lat z JVM
20+
wygłoszonych prelekcji
Krzysztof Ślusarski
JVM 20 lat doświadczenia
  • Java
  • JVM
  • Garbage Collector
  • Async-profiler
  • Spring
  • Dropwizard
  • Kafka
  • Redis
  • PostgreSQL
  • Oracle
  • ClickHouse

Usługi

W czym mogę pomóc

Rozwiązywanie produkcyjnych problemów wydajnościowych

Diagnoza aplikacji działających na JVM — dlaczego zwalniają i dlaczego przestają działać. Znajduję realną przyczynę, a nie tylko objawy.

  • Wycieki pamięci — na heapie i natywne
  • Długie pauzy GC
  • Wysokie zużycie CPU
  • Zakleszczenia i problemy ze współbieżnością
  • Nagłe awarie i spadki przepustowości

Profilowanie aplikacji i JVM

Przyśpieszanie działania aplikacji poprzez profilowanie oraz tuning JVM. Konkretne zmiany w kodzie i konfiguracji — poparte danymi.

  • Profilowanie CPU, czasu przetwarzania i alokacji (async-profiler, flame graphs)
  • Tuning garbage collectora
  • Continuous profiling
  • Analiza heap dumpów
  • Optymalizacja przepustowości i latencji

Jak pracuję

Od objawu do rozwiązania

  1. 01

    Diagnoza

    Zbieram dane wprost z produkcji: logi GC, dane z profilera, heap dumpy, metryki. Bez zgadywania.

  2. 02

    Analiza

    Lokalizuję realną przyczynę problemu — to, co faktycznie spowalnia lub wywraca aplikację, a nie kolejny objaw.

  3. 03

    Rozwiązanie

    Dostajesz konkretne zmiany w kodzie lub konfiguracji JVM oraz wiedzę, jak unikać tego problemu w przyszłości.

Analiza logów GC

Mój własny analizator logów GC/JVM

Darmowe narzędzie, które stworzyłem do analizy logów JVM, w tym Garbage Collectora. Wgrywasz log, a dostajesz czytelne wykresy pauz, przepustowości i zużycia pamięci — gotowe punkty zaczepienia do tuningu.

Otwórz gclogs.com

Artykuły i OpenSource

Dzielę się tym, co wiem

Moje artykuły o profilingu i tuningu oraz projekty OpenSource znajdziesz na GitHubie.

krzysztofslusarski.github.io

Wygłoszone prelekcje

Występowałem m.in. na WJUG, Confiturze, JDD i Boiling Frogs

Wiedza, którą na co dzień stosuję w praktyce — zebrana w dziesiątkach wystąpień.

WJUG #267Profiling

Profiling cz. 1 — Kręgi piekła profilingu (JProfiler, G1GC)

▶ Obejrzyj nagranie
WJUG #290Profiling

Profiling cz. 5 — Wyciek pamięci: mam HeapDumpa i co dalej?

▶ Obejrzyj nagranie
WJUG #327Profiling

Profiling cz. 6 — Natywne wycieki

Wystąpienie na żywo
JSanta Lublin 2022Profiling

Hazelcast SQL — profiling success stories

Wystąpienie na żywo
KJUG #58Profiling

Podstawy profilingu + success stories z produkcji

Wystąpienie na żywo
4Developers 2023Profiling

Java profiling — nie tylko dla orłów: najczęstsze błędy

Wystąpienie na żywo
SJUG #4Profiling

Podstawy profilingu + success stories z produkcji

Wystąpienie na żywo
WJUG #304Profiling

Architektura „Thread-per-core" jako droga do najlepszej wydajności

▶ Obejrzyj nagranie
JUG Łódź 2025Profiling

Wycieki pamięci w Javie — na heapie i poza nim

Wystąpienie na żywo
JDD 2025Profiling

Natywne wycieki pamięci w Javie

Wystąpienie na żywo
KJUG #81Profiling

Wycieki pamięci w Javie — na heapie i poza nim

Wystąpienie na żywo
WDI 2022JVM internals

Concurrency — Java memory model: nie tylko dla orłów

Wystąpienie na żywo
Confitura 2022JVM internals

Concurrency — Java memory model: nie tylko dla orłów

▶ Obejrzyj nagranie
Confitura 2019Awarie

Diagnoza produkcyjnych awarii — czemu aplikacje przestają działać?

▶ Obejrzyj nagranie
KJUG #47Architektura

Porty, adaptery, CQRS, Event Sourcing — jak zaimplementować w Springu?

Wystąpienie na żywo
WJUG #292Architektura

Porty, adaptery, CQRS, Event Sourcing — jak zaimplementować w Springu?

▶ Obejrzyj nagranie

Kontakt

Opowiedz mi o swoim problemie

Zadzwoń albo napisz — odezwę się i wspólnie ustalimy, jak mogę pomóc.