• Home
  • Blog
  • Monitorowanie wydajności aplikacji po wdrożeniu na produkcję

TECHNOLOGIE

26.05.2022 - Przeczytasz w 2 min.

Monitorowanie wydajności aplikacji po wdrożeniu na produkcję

26.05.2022 - Przeczytasz w 2 min.

Jeżeli jesteś członkiem zespołu deweloperskiego (szczególnie testerem), to artykuł idealny dla ciebie. Zapewne na pewnym etapie prac zaczynasz robić publikację aplikacji. 

wydajnosc_uslugi_po_wrozeniu_na_produkcje_1
5/5 - (3 votes)

Z czasem funkcjonalności przybywa, baza danych rośnie, maszyny są coraz bardziej obciążone, a publikację nowych wersji aplikacji są coraz częstsze. W całym tym zgiełku i pośpiechu codziennego życia na pewno trafiliście na pewien dialog.

To częste pytanie, z którym możecie się spotkać podczas pracy w projekcie. Zdarza się, że odpowiedź na nie, nie jest poprawna, ponieważ nie zawsze zapytania, są należycie monitorowane. Podczas odpowiedzi często wracamy pamięcią do zamierzchłych czasów, wiedzy sprzed 5 tygodni, 5 miesięcy 5 lat lub dokumentacji technicznej która również nie została zaktualizowana.

 

Jak możemy szybko, skutecznie oraz stosunkowo niedużym nakładem czasu rozwiązać ten problem? (odpowiedzi jest wiele, ale dziś przedstawię wam jedną z prostszych).

 

Do rozwiązania problemu z monitorowaniem wydajności użyjemy narzędzia o nazwie Postman (przykład oraz możliwości monitoringu znajdziecie poniżej, jeżeli już wam się to rozwiązanie podoba, w dalszej części opisana jest instrukcja konfiguracji takiego monitoringu). Możesz przeczytać również o Testowaniu API – Postman dla początkujących.

Powyższy raport z monitoringu w Postmanie możemy przeglądać w formie sumarycznej lub indywidualnej (per request), wybierając konkretny słupek, który oznacza dzień znajdziemy podsumowanie zawierające szczegółowe dane do każdego requesta.

Najważniejsze w monitoringu Postman jest to, że każdy z requestów może zawierać dowolną asercję, w tym przypadku najbardziej interesuje nas asercja weryfikująca czas, jaki jest potrzebny od momentu wysyłki zapytania do odpowiedzi z naszego serwisu.Dodatkowo możemy zastosować weryfikację kodu odpowiedzi lub zawartości odpowiedzi.
W przypadku gdy taka asercja okaże się negatywna, otrzymamy powiadomienie na email.

 

Dużą zaletą jest łatwość konfiguracji takiego monitoringu wydajności, w raporcie mamy historię, oś czasu i czasy odpowiedzi oraz metrykę naszych zapytań na dowolnym środowisku wraz z asercjami, jakie są weryfikowane na danym requeście.

 

Korzyści utworzenia takiego monitoringu są niepodważalne, wcześnie wykrywamy opóźnienia w odpowiedzi z API, a na tej podstawie jesteśmy w stanie wydedukować czy jest to wina najnowszego releasu? Dużego obciążenia? Lub innych czynników. Mamy czas na reakcję przed katastrofą.

(W planie darmowym Postmana mamy 1000 odwołań api w monitoringu miesięcznie)

 

Konfiguracja monitoringu:

Jeżeli nie mamy kolekcji musimy ją utworzyć (szczegóły jak to zrobić znajdziecie w tutorialu do postmana). W przykładzie wykorzystamy bardziej zaawansowaną formę zapytania do API, która jest zabezpieczona dostępem poprzez token autoryzacyjny (w zakładce test pobieram token z autoryzacji do zmiennej)

        
if (responseCode.code === 200){
   try{
       var tokenData = JSON.parse(responseBody),
       token = tokenData.access_token;
   }
   catch(e){
       console.log(e);
   }
   postman.setGlobalVariable("myToken",`Bearer ${token}`)
}

        
    

Następnie w zapytaniu docelowym przekazuje token w sekcji headers jak na załączniku poniżej.

Teraz najważniejsze, w zakładce test wprowadzam dowolne asercję np. na czas odpowiedzi oraz kod odpowiedzi (przypominam, że weryfikację można rozbudować o dowolne asercję weryfikujące np. zawartość odpowiedzi)

        
pm.test("Status code is 200", function () {
   pm.response.to.have.status(200);
});
pm.test("Response time is less than 2000ms", function () {
   pm.expect(pm.response.responseTime).to.be.below(2000);
});

        
    

W tym momencie weryfikujemy czy status jest równy 200 oraz czy czas odpowiedzi jest poniżej 2 sekund.


Nadeszła pora na konfigurację monitora.

Wybieramy zakładkę monitors wybieramy create a monitor i uzupełniamy zgodnie z potrzebami jak na wideo poniżej.

Wprowadzamy nazwę monitora, wybieramy kolekcję do uruchomienia, środowisko (jeżeli korzystamy ze zmiennych), częstotliwość wywołań oraz kogo powiadomić w razie failów.

Teraz to już wszystko monitor jest gotowy do pracy i informowania o zaistniałych problemach (życzę wam ich jak najmniej).

Ocena artykułu

5/5 - (3 votes)

Udostępnij

Arkadiusz Kwiatkowski-RST Software

Arkadiusz Kwiatkowski

Software Tester Lead

Absolwent Wyższej Szkoły Oficerskiej Wojsk Lądowych oraz Wyższej Szkoły Informatyki Stosowanej „Horyzont”. W swojej pracy najbardziej lubi możliwość rozwoju i poczucie, że jest we właściwym miejscu, a jego praca ma sens. Prywatnie właściciel Luny - buldoga francuskiego (z widocznymi objawami ADHD). Uwielbia podróże i chwile, kiedy może odpocząć w zgodzie z naturą. Wiecznie uśmiechnięty i pozytywnie nastawiony człowiek, z którym ciężko się nudzić.

Nasza strona internetowa używa cookies do poprawnego działania. Korzystanie z niej z zachowaniem obecnych ustawień oznacza, że cookies będą przechowywane w pamięci Twojej przeglądarki. Ustawienia cookies możesz zmienić w opcjach przeglądarki. Więcej informacji znajdziesz w naszej polityce prywatności.