running-performance-tests
Testuj wydajność aplikacji: obciążenie, stress i benchmark w jednym narzędziu
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność do uruchamiania testów wydajności: load testing, stress testing i benchmarkingu. Zidentyfikuj wąskie gardła w aplikacji, ustal metryki bazowe i zweryfikuj zgodność z SLA. Obsługuje k6, Artillery, Apache JMeter, Locust i autocannon. Użyj gdy chcesz sprawdzić, jak system zachowuje się pod obciążeniem, symulując rzeczywisty ruch produkcyjny na krytycznych endpointach.
Jak używać
Przygotuj środowisko testowe: zainstaluj jedno z obsługiwanych narzędzi (k6, Artillery, Apache JMeter, Locust lub autocannon) i upewnij się, że aplikacja docelowa działa w środowisku zbliżonym do produkcji, nie na lokalnym komputerze deweloperskim.
Zdefiniuj scenariusze testowe na podstawie rzeczywistych wzorców ruchu: load test (symulacja oczekiwanego ruchu szczytowego, np. 500 równoczesnych użytkowników przez 10 minut), stress test (obciążenie poza normalne limity aby znaleźć punkt przełamania), spike test (nagły skok ruchu z 0 do 1000 użytkowników w 10 sekund) lub soak test (utrzymane umiarkowane obciążenie przez 1-4 godziny aby wykryć wycieki pamięci).
Stwórz skrypty testowe dla najważniejszych endpointów: wybierz 5-10 najczęściej wywoływanych endpointów API z logów produkcyjnych, uwzględnij zarówno operacje odczytu (GET) jak i zapisu (POST/PUT/DELETE), symuluj realistyczne zachowanie użytkownika z czasem czekania między żądaniami.
Parametryzuj dane testowe aby uniknąć odpowiedzi tylko z cache'u, a następnie uruchom test używając wyzwalaczy takich jak "run load tests", "test performance" lub "benchmark the system".
Monitoruj metryki podczas testów: miej dostęp do stosu monitorowania (Grafana, CloudWatch, Datadog) aby śledzić zasoby systemowe i wydajność w czasie rzeczywistym.
Przeanalizuj wyniki: porównaj uzyskane metryki z celami SLA (np. p95 < 200ms, dostępność 99.9%) i zidentyfikuj wąskie gardła wymagające optymalizacji.