Testy obciążeniowe platformy Medicover Benefits

W celu optymalizacji systemu pod kątem rosnącej popularności, przeprowadziliśmy serię testów obciążeniowych. Ich zadaniem było ujawnienie wąskich gardeł i elementów o najniższej sprawności.

Z Medicover Benefits współpracujemy już od pięciu lat. Jesteśmy odpowiedzialni za rozwój i utrzymanie platformy benefitowej, która służy pracodawcom do zarządzania i dystrybucji pozapłacowych dodatków do wynagrodzenia wśród pracowników.

W celu optymalizacji systemu pod kątem rosnącej popularności, przeprowadziliśmy serię testów obciążeniowych. Ich zadaniem było ujawnienie wąskich gardeł i elementów o najniższej sprawności. Testy odbywały się w środowisku produkcyjnym w godzinach nocnych i trwały dwie godziny. Były przeprowadzone na podstawie scenariuszy opracowanych wspólnie z klientem i obejmowały najpopularniejsze aktywności użytkowników, takie jak: zakup vouchera, przeglądanie ofert, sprawdzanie konta użytkownika i inne. 

W jaki sposób przeprowadzamy testy

Testy obciążeniowe pozwalają nie tylko odpowiedzieć na pytanie, jaka jest granica wytrzymałości serwisu, ale także pozwalają określić słabe punkty wydajności aplikacji.

Testy obciążeniowe polegają na zbadaniu, jak zachowują się komponenty systemu przy stale zwiększającym się obciążeniu, aż do osiągnięcia wartości granicznej, przy której aplikacja nie jest już w stanie obsłużyć dalszego ruchu. Dane płynące z takich testów pozwalają nie tylko odpowiedzieć na pytanie, jaka jest granica wytrzymałości serwisu, ale także pozwalają określić gdzie należy szukać wąskiego gardła w wydajności aplikacji.

Pierwszym etapem testów jest ustalenie scenariuszy, które są kluczowe zarówno z perspektywy wpływu na obciążenie aplikacji, jak i na procesy biznesowe ustalone z klientem. Drugim etapem jest implementacja scenariuszy w dedykowanych narzędziach oraz zaprojektowanie ruchu wirtualnych użytkowników (ich ilości oraz sposobu ich przyrostu), którzy będą odpowiedzialni za wykonanie ustalonych scenariuszy.

Kolejnym etapem jest wykonanie testów. Odbywają się one w najbardziej dogodnym dla klienta terminie, co na ogół determinowane jest porą, w której brak dostępności aplikacji jest najmniej odczuwalny dla jej użytkowników. Jeśli zachodzi taka potrzeba, korzystamy z rozwiązań chmurowych. Ostatnim etapem jest przygotowanie przez nasz zespół raportu z wykonanych testów, a następnie przekazanie i omówienie wyników z klientem.

Wnioski po testach i dalsze plany rozwojowe

Na bazie przeprowadzonych testów powstał raport z wnioskami oraz propozycjami usprawnień.

Testy wykazały, że aplikacja jest gotowa na przyjęcie większego ruchu, natomiast wskazana jest optymalizacja konfiguracji serwera. Na bazie przeprowadzonych testów powstał raport z wnioskami wraz z propozycjami usprawnień i zmian w konfiguracji.  
Po wprowadzeniu koniecznych zmian konfiguracyjnych testy zostaną powtórzone w celu ich weryfikacji. 

Dla zachowania najlepszej wydajności, planowane jest cykliczne przeprowadzanie testów wydajnościowych w odstępach kilkutygodniowych. Pozwoli to na bieżąco monitorować zdolności systemu adekwatnie do obciążenia oraz identyfikować i eliminować wąskie gardła.

Medicover

Zespół 3e zawsze analizuje kilka wariantów projektu, zanim wybierze optymalny, który jest później rozwijany. Zawsze są bardzo dobrze przygotowani do spotkań i wykazują wysoki poziom zrozumienia naszych wymagań i ograniczeń rynkowych.

Paweł Skrodzki

Dyrektor Sprzedaży w Medicover Benefits