Testowanie obciążenia w języku naturalnym
- “Przetestuj nasze API z 1000 użytkowników przez 10 minut”
- “Symuluj wzorce ruchu Black Friday”
- “Znajdź punkt załamania dla przepływu checkout”
- “Porównaj wydajność przed/po wdrożeniu”
Problemy wydajności kosztują firmy miliony w utraconej sprzedaży i sfrustrowani użytkownicy. Gdy 53% użytkowników mobilnych porzuca strony, których ładowanie trwa ponad 3 sekundy, testowanie wydajności nie jest opcjonalne—to krytyczne dla biznesu. Testowanie wydajności wspierane przez AI z serwerami MCP przekształca testowanie obciążenia z manualnego skryptowania w inteligentne, konwersacyjne przepływy pracy, które dostosowują się do zachowania aplikacji.
Tradycyjne testowanie wydajności wymaga głębokiej wiedzy o skryptowaniu k6 i złożonej konfiguracji. Serwery MCP zmieniają to, umożliwiając przepływy pracy testowania wydajności w języku naturalnym:
Testowanie obciążenia w języku naturalnym
Analiza testów wspierana przez AI
Integracja serwera MCP
Ciągła walidacja wydajności
# Najpierw skonfiguruj połączenie serwera k6 MCP# Zainstaluj serwer k6 MCPnpx uv --python 3.12+ install k6-mcp-server
# Skonfiguruj w ustawieniach MCP Cursor# Dodaj do mcp_settings.json:{ "mcpServers": { "k6-load-testing": { "command": "uv", "args": ["run", "k6_server.py"] } }}
Teraz użyj języka naturalnego do tworzenia testów obciążenia:
# Testowanie wydajności w języku naturalnymAgent: "Używając serwera k6 MCP, utwórz test obciążenia dla naszego API e-commerce:
PRD: Wymagania testowania obciążenia e-commerce- Przetestuj przepływ checkout z 500 równoczesnymi użytkownikami- Ramp up przez 2 minuty, utrzymaj przez 10 minut- Uwzględnij wyszukiwanie produktów, operacje koszyka, przetwarzanie płatności- Waliduj czasy odpowiedzi poniżej 500ms dla 95. percentyla- Symuluj realistyczne zachowanie użytkowników z czasami myślenia- Monitoruj błędy i naruszenia SLA
Todo:- [ ] Wygeneruj realistyczne scenariusze podróży użytkownika- [ ] Skonfiguruj odpowiednie progi- [ ] Skonfiguruj monitorowanie i alertowanie- [ ] Uwzględnij walidację wydajności bazy danych- [ ] Wygeneruj raport wydajności"
# Połącz się z serwerem k6 MCP do testowania wydajnościclaude "Połącz się z serwerem k6 MCP i uruchom test obciążenia:
Wymagania:- Przetestuj nasz endpoint API rejestracji użytkowników- Symuluj 1000 użytkowników przez 5 minut- Uwzględnij scenariusze walidacji formularza- Sprawdź pooling połączeń bazy danych- Monitoruj użycie pamięci podczas testu- Wygeneruj szczegółowy raport wydajności z analizą wąskich gardeł
Oczekiwane rezultaty:- Czas odpowiedzi P95 < 200ms- Wskaźnik błędów < 0,1%- Stabilne połączenia bazy danych- Użycie pamięci w limitach"
# Claude będzie:# 1. Łączyć się z serwerem k6 MCP# 2. Generować odpowiedni skrypt testowy k6# 3. Wykonywać test obciążenia# 4. Analizować wyniki i identyfikować wąskie gardła# 5. Dostarczać rekomendacje optymalizacji
# Użyj serwera k6 MCP do inteligentnego testowania stresuAgent: "Znajdź punkt załamania dla naszego API przetwarzania płatności:
Protokół testowania stresu:1. Zacznij od 100 użytkowników wirtualnych2. Zwiększaj o 50 użytkowników co 2 minuty3. Monitoruj czasy odpowiedzi i wskaźniki błędów4. Zatrzymaj gdy czas odpowiedzi P95 przekroczy 2 sekundy5. Lub gdy wskaźnik błędów przekroczy 1%
Wymagania analizy:- Zidentyfikuj dokładny punkt załamania- Określ główne wąskie gardło (CPU, pamięć, baza danych)- Dostarcz rekomendacje skalowania- Oblicz koszt obsługi szczytowego obciążenia
Raport powinien zawierać:- Maksymalne zrównoważone obciążenie- Wzorce wykorzystania zasobów- Możliwości optymalizacji- Plan skalowania infrastruktury"
# AI wygeneruje i wykona test stresu,# następnie przeanalizuje wyniki, aby znaleźć optymalną pojemność
# Progresywne testowanie stresu z wglądami AIclaude "Używając k6 MCP, zaimplementuj progresywne testowanie stresu:
Wzorzec testowy:- Start: 10 użytkowników, 30 sekund- Ramp: Zwiększaj o 25% co minutę- Monitor: Czasy odpowiedzi, przepustowość, błędy- Stop: Gdy system pokazuje oznaki degradacji
Kluczowe metryki do śledzenia:- Percentyle czasów odpowiedzi (P50, P95, P99)- Przepustowość żądań na sekundę- Progresja wskaźnika błędów- Wykorzystanie zasobów systemowych
Oczekiwany wynik:- Wizualizacja krzywej wydajności- Identyfikacja punktu załamania- Raport analizy wąskich gardeł- Rekomendacje planowania pojemności"
# Symuluj wysokoruchwowe wydarzenia zakupoweAgent: "Utwórz symulację testu obciążenia Black Friday używając k6 MCP:
Kontekst biznesowy:- Oczekiwane 10x normalnego ruchu (z 1K do 10K równoczesnych użytkowników)- Szczytowe godziny zakupów: 9 AM - 11 PM EST- Krytyczne podróże użytkowników: przeglądaj → szukaj → dodaj do koszyka → checkout- Wymagania SLA: 99,9% uptime, <2s czasy odpowiedzi
Scenariusze testowe:1. Przeglądanie produktów (40% ruchu) - Przeglądaj kategorie i strony produktów - Oglądaj zdjęcia produktów i recenzje - Sprawdzaj dostępność inwentarza
2. Wyszukiwanie i filtrowanie (25% ruchu) - Szukaj konkretnych produktów - Stosuj filtry (cena, marka, ocena) - Sortuj wyniki według relevance
3. Operacje koszyka zakupów (20% ruchu) - Dodawaj/usuwaj przedmioty z koszyka - Aktualizuj ilości - Stosuj kody rabatowe
4. Proces checkout (15% ruchu) - Checkout gościa vs zarejestrowanego użytkownika - Przetwarzanie płatności - Potwierdzenie zamówienia
Walidacja wydajności:- Monitoruj pule połączeń bazy danych- Śledzenie użycia pamięci i garbage collection- Waliduj wydajność CDN dla zasobów statycznych- Sprawdzaj czasy odpowiedzi bramek płatności"
# Kompleksowa walidacja wydajności APIclaude "Używając serwera k6 MCP, przetestuj wydajność naszego REST API:
Testowanie endpointów API:- GET /api/products (wysoki wolumen odczytów)- POST /api/orders (przetwarzanie transakcji)- PUT /api/users/{id} (aktualizacje profilu użytkownika)- DELETE /api/cart/{id} (zarządzanie koszykiem)
Dystrybucja obciążenia:- 70% żądań GET (przeglądanie katalogu produktów)- 20% żądań POST (tworzenie zamówień)- 8% żądań PUT (aktualizacje profilu)- 2% żądań DELETE (czyszczenie koszyka)
Kryteria wydajności:- Przepustowość: >1000 żądań/sekundę- Czas odpowiedzi P95: <500ms- Wskaźnik błędów: <0,5%- Pula połączeń bazy danych: <80% wykorzystania
Czas trwania testu: 15 minut z 5-minutowym ramp-upRównoczesni użytkownicy: Start na 100, szczyt na 1500
Monitorowanie:- Wydajność zapytań bazy danych- Wskaźniki trafień cache (Redis/Memcached)- Wykorzystanie CPU i pamięci- Latencja sieci i użycie przepustowości"
# Przetestuj wydajność bazy danych pod obciążeniemAgent: "Używając serwera Database MCP z integracją k6:
Plan testowania wydajności bazy danych:- Przetestuj zachowanie puli połączeń (max 100 połączeń)- Symuluj równoczesne operacje odczytu/zapisu- Monitoruj wydajność zapytań pod obciążeniem- Waliduj poziomy izolacji transakcji
Scenariusze testowe:1. Obciążenie heavy-read (80% odczytów, 20% zapisów) - Zapytania katalogu produktów - Wyszukiwanie profili użytkowników - Operacje wyszukiwania z filtrami
2. Obciążenie heavy-write (30% odczytów, 70% zapisów) - Transakcje przetwarzania zamówień - Aktualizacje inwentarza - Logowanie aktywności użytkowników
3. Obciążenie mieszane (60% odczytów, 40% zapisów) - Typowy wzorzec ruchu e-commerce - Zbalansowane operacje odczytu/zapisu
Metryki wydajności:- Wykorzystanie puli połączeń- Czasy wykonywania zapytań- Rywalizacja o blokady i deadlocki- Przepustowość transakcji- Użycie CPU i I/O bazy danych"
# Analiza wydajności zapytań bazy danychclaude "Połącz się z Database MCP i przeanalizuj wydajność zapytań:
Analiza wolnych zapytań:1. Zidentyfikuj zapytania trwające >100ms2. Przeanalizuj plany wykonania3. Zasugeruj optymalizacje indeksów4. Przetestuj z różnymi wzorcami zapytań
Testowanie obciążenia operacji bazy danych:- Równoczesna rejestracja użytkowników (INSERTs)- Wyszukiwanie produktów ze złożonymi JOINs- Zapytania historii zamówień z paginacją- Aktualizacje inwentarza w czasie rzeczywistym
Oczekiwane rezultaty:- Rekomendacje optymalizacji zapytań- Sugestie tworzenia indeksów- Ulepszenia pooling połączeń- Rekomendacje strategii cache
Wygeneruj raport wydajności z:- Wydajność zapytań przed/po- Ulepszenia wykorzystania zasobów- Prognozy skalowalności- Analiza wpływu kosztów"
name: Pipeline testowania wydajności
on: push: branches: [main, develop] pull_request: types: [opened, synchronize] schedule: - cron: '0 2 * * *' # Nocne testy wydajności
jobs: performance-test: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4
- name: Skonfiguruj serwer k6 MCP run: | # Zainstaluj k6 i zależności MCP curl https://github.com/grafana/k6/releases/download/v0.48.0/k6-v0.48.0-linux-amd64.tar.gz -L | tar xvz --strip-components 1 pip install k6-mcp-server
- name: Uruchom aplikację run: | npm install npm run build npm start & sleep 30 # Czekaj na gotowość aplikacji
- name: Uruchom testy wydajności z MCP run: | # Użyj języka naturalnego do uruchamiania testów wydajności claude "Używając serwera k6 MCP, uruchom test regresji wydajności:
- Porównaj bieżący build vs baseline wydajności - Przetestuj krytyczne podróże użytkowników (login, checkout, search) - Waliduj czasy odpowiedzi w ramach SLA (<500ms P95) - Sprawdź wycieki pamięci lub problemy z zasobami - Wygeneruj raport porównania wydajności
Niepowodzenie build jeśli: - Czasy odpowiedzi wzrosną o >20% - Wskaźnik błędów przekroczy 0,1% - Przepustowość zmniejszy się o >15%"
- name: Prześlij wyniki wydajności uses: actions/upload-artifact@v4 with: name: performance-reports path: | reports/ k6-results.json performance-comparison.html
# Ciągły przepływ pracy monitorowania wydajnościAgent: "Skonfiguruj ciągłe monitorowanie wydajności używając k6 MCP:
Strategia monitorowania:1. Syntetyczne testy użytkowników (co 5 minut) - Wydajność przepływu logowania - Czasy odpowiedzi kluczowych endpointów API - Wydajność zapytań bazy danych
2. Harmonogram testowania obciążenia - Lekkie obciążenie: Co godzinę (50 użytkowników, 5 minut) - Średnie obciążenie: Codziennie (500 użytkowników, 15 minut) - Ciężkie obciążenie: Tygodniowo (2000 użytkowników, 30 minut)
3. Wykrywanie regresji wydajności - Porównaj z metrykami baseline - Alert przy >10% degradacji wydajności - Auto-tworzenie issues do badania
4. Planowanie pojemności - Tygodniowa ocena pojemności - Analiza trendów ruchu - Rekomendacje skalowania infrastruktury
Punkty integracji:- Dashboardy Grafana do wizualizacji- Alerty Slack dla problemów wydajności- Bilety JIRA dla regresji wydajności- Śledzenie kosztów skalowania infrastruktury"
# PRD: Testowanie szczytowego obciążenia e-commerce# Wymagania: Obsługa ruchu Black Friday, 99,9% uptime, <2s odpowiedź
"Używając serwera k6 MCP, utwórz kompleksowy test obciążenia:
Kontekst biznesowy:- Platforma e-commerce z 50K dziennymi aktywnymi użytkownikami- Oczekiwane 10x ruchu podczas Black Friday (500K użytkowników)- Krytyczne przepływy: przeglądaj, szukaj, koszyk, checkout, płatność
Todo:- [ ] Modeluj realistyczne wzorce zachowań użytkowników- [ ] Przetestuj ze stopniowym zwiększaniem obciążenia (100 → 5000 użytkowników)- [ ] Waliduj pooling połączeń bazy danych- [ ] Monitoruj wydajność CDN dla zasobów statycznych- [ ] Przetestuj integrację bramki płatności pod obciążeniem- [ ] Sprawdź czy triggery auto-skalowania działają poprawnie- [ ] Wygeneruj rekomendacje planowania pojemności
Kryteria sukcesu:- Czas odpowiedzi P95 < 2 sekundy- Wskaźnik błędów < 0,1%- Stabilne połączenia bazy danych- Użycie pamięci w limitach- Wskaźnik sukcesu płatności > 99,5%"
# PRD: Walidacja wydajności mikroserwisów# Plan: Użyj k6 MCP + Database MCP do kompleksowego testowania
"Przetestuj wydajność naszej architektury mikroserwisów:
Serwisy do testowania:- User Service (autentyfikacja, zarządzanie profilem)- Product Service (katalog, wyszukiwanie, rekomendacje)- Order Service (koszyk, checkout, przetwarzanie płatności)- Notification Service (email, SMS, powiadomienia push)
Dystrybucja obciążenia:- 60% odczytów (przeglądanie produktów, dane użytkowników)- 30% zapisów (zamówienia, aktualizacje, logowanie)- 10% złożonych operacji (wyszukiwanie, rekomendacje)
Todo:- [ ] Przetestuj latencję komunikacji serwis-do-serwis- [ ] Waliduj wzorce circuit breaker- [ ] Monitoruj wydajność service mesh (jeśli dotyczy)- [ ] Przetestuj optymalizację zapytań bazy danych- [ ] Sprawdź efektywność cache- [ ] Sprawdź wydajność kolejek wiadomości- [ ] Wygeneruj mapę zależności serwisów
Oczekiwane SLA:- Wywołania wewnętrzne API: <50ms P95- Wywołania zewnętrzne API: <200ms P95- Zapytania bazy danych: <10ms P95- Przetwarzanie wiadomości: <5ms średnio"
Efektywność wspierana przez AI
Tworzenie testów: 90% szybciej z promptami w języku naturalnym
Czas wykonania: Automatyzowany z integracją serwera MCP
Analiza: Natychmiastowa identyfikacja wąskich gardeł i rekomendacje
Pokrycie testowania
Wzorce obciążenia: Symulacja ruchu z prawdziwego świata
Scenariusze: Kompleksowe testowanie podróży użytkowników
Metryki: 360° monitorowanie wydajności
Doświadczenie programisty
Język naturalny: “Przetestuj z 1000 użytkowników przez 10 minut”
Integracja MCP: Bezproblemowa orkiestracja narzędzi
Automatyczne raporty: Praktyczne wglądy w wydajność
Wpływ biznesowy
Optymalizacja kosztów: Odpowiednio zwymiarowana infrastruktura
Doświadczenie użytkownika: Szybsza wydajność aplikacji
Pewność release: Zapobieganie regresji wydajności
Skonfiguruj serwer k6 MCP
# Zainstaluj k6 i serwer MCPpip install k6-mcp-server
# Skonfiguruj w kliencie MCP# Dodaj serwer k6 do mcp_settings.json
Utwórz swój pierwszy test obciążenia
# Test wydajności w języku naturalnymAgent: "Używając k6 MCP, przetestuj nasze API logowania ze 100 użytkownikami przez 5 minut"
Przeanalizuj wyniki
# Analiza wspierana przez AI"Przeanalizuj wyniki testu i zidentyfikuj wąskie gardła"
Skonfiguruj ciągłe testowanie
# Integruj z CI/CD"Utwórz przepływ pracy GitHub Actions do testowania regresji wydajności"
Skaluj i optymalizuj
# Planowanie pojemności"Na podstawie wyników testów, rekomenduj strategię skalowania infrastruktury"
# PRD: Walidacja wydajności aplikacji webowej"Używając serwera k6 MCP, utwórz test wydajności aplikacji webowej:
Podróż użytkownika:1. Ładowanie strony głównej i nawigacja2. Autentyfikacja użytkownika (login/signup)3. Przeglądanie treści i wyszukiwanie4. Przesyłanie formularzy i aktualizacje5. Pobieranie i przesyłanie plików
Wzorzec obciążenia:- Start: 10 użytkowników- Ramp up: 50 użytkowników przez 2 minuty- Sustain: 200 użytkowników przez 10 minut- Ramp down: 10 użytkowników przez 2 minuty
Walidacja:- Czas ładowania strony < 3 sekundy- Czas odpowiedzi API < 500ms- Wskaźnik błędów < 1%- Stabilne użycie pamięci"
# PRD: Testowanie wydajności mikroserwisów"Przetestuj wydajność mikroserwisów używając k6 MCP:
Serwisy:- Authentication service- User management service- Payment processing service- Notification service
Matryca testowa:- Lekkie obciążenie: 100 RPS przez 5 minut- Średnie obciążenie: 500 RPS przez 15 minut- Ciężkie obciążenie: 1000 RPS przez 30 minut
Metryki:- Czasy odpowiedzi serwisów- Latencja komunikacji między-serwisowej- Pooling połączeń bazy danych- Wydajność kolejek wiadomości- Wzorce propagacji błędów"