Testy obciążeniowe i wydajnościowe

Testy wydajnościowe i obciążeniowe

Testy obciążeniowe i wydajnościowe serwisu pozwalają spokojnie oczekiwać na ruch użytkowników bez obaw o dostępność serwisu. Kiedy wdrażamy nowy serwis lub aplikację, zwykle dopiero po jego upublicznieniu dowiadujemy się, czy wytrzymuje ruch, jaki na niego trafia. Można temu zapobiec, poznać wcześniej słabe punkty serwisu albo upewnić się, że będzie działał dobrze z planowanym ruchem. Testy obciążeniowe często znajdują bardzo poważne błędy, które z pewnością doprowadziłyby do problemów z wydajnością serwisu – do tego wystarczy jeden zapomniany indeks w bazie danych. Testy wydajnościowe symulą ruch użytkowników, pozwalając poznać "granice" serwisu lub aplikacji.  

Jako Hostersi, wykonujemy kilka rodzajów testów:

  • Load Test - polega na stopniowym zwiększaniu obciążenia na system lub aplikację w celu oceny, jak zachowują się w warunkach spodziewanego produkcyjnego przeciążenia. Celem jest określenie, jakie obciążenie systemu lub aplikacji jest w stanie obsłużyć przed degradacją wydajności lub awarią, np. czy aplikacja po aktualizacji nadal spełnia minimalne wymagania wydajności. Test obciążenia jest przeprowadzany poprzez stopniowe zwiększanie liczby użytkowników lub obciążenia na aplikacji lub systemie, aż zostanie osiągnięty punkt przeciążenia (np. 5% błędów).
  • Spike Test - polega na gwałtownym i znacznym zwiększeniu obciążenia systemu w krótkim okresie czasu, aby ocenić, jak system radzi sobie z nagłymi szczytami ruchu. Celem jest określenie, czy system jest w stanie obsłużyć nieoczekiwane wzrosty ruchu, takie jak promocje lub wydarzenia specjalne. Może to być symulowane poprzez nagle zwiększenie liczby jednoczesnych użytkowników lub obciążenia na systemie w sposób kontrolowany, aby sprawdzić, jak system reaguje na nagłe wzrosty ruchu.
  • Soak Test (zwany czasem Endurance Test) - polega na utrzymaniu stałego obciążenia na systemie lub aplikacji przez dłuższy okres, aby sprawdzić, czy nie występują wycieki pamięci lub inne problemy z zasobami. Celem jest określenie, czy system jest stabilny i nie degraduje swojej wydajności podczas długotrwałego działania. Przeprowadza się go, monitorując zasoby systemu, takie jak pamięć i procesor, w celu wykrycia ewentualnych wycieków lub degradacji wydajności. Jest przeważnie rozszerzeniem Load Testu.
  • Stress Test - polega na przekraczaniu granic wydajności systemu, wprowadzaniu awarii lub nadmiernego obciążenia w celu zidentyfikowania punktu, w którym system przestaje działać zgodnie z oczekiwaniami. Celem jest określenie granic wydajności systemu, identyfikacja słabych punktów i ocena, jak system zachowuje się podczas nieprzewidywalnych i ekstremalnych warunków.

testy obciążeniowe i wydajnościowe

Aby przeprowadzić typowy test wydajnościowy potrzeba:

  • infrastruktury testowej na jakiej prowadzony jest test bez obciążania serwerów produkcyjnych,
  • scenariusza testowego czyli ścieżki (lub ścieżek) po jakiej poruszają się na stronie/aplikacji użytkownicy,
  • implementacji scenariuszy testowych i ich wykonania,
  • analizy zachowania platformy w czasie testu i dopasowania parametrów testu,
  • raportu z wynikami testów i zaleceniami,
  • czasem kilkukrotnych retestów po wprowadzeniu poprawek a nawet wielu iteracji poprawek.

Wszystkie te elementy możemy dla Ciebie zrealizować

Przygotowujemy zarówno samą infrastrukturę testową, jak i scenariusze testowe. Przeprowadzimy też sam test, symulując dowolny ruch. Mamy też ogromne doświadczenie utrzymując platformy, na których hostowane są serwisy i aplikacje, więc możesz liczyć na użyteczne informacje, co poprawić, co zmienić aby osiągnąć lepsze wyniki.

Po co wykonywać testy obciążeniowe?

Testy dają gwarancję, że platforma jest w stanie wytrzymać dany ruch. Pozwalają skorygować aplikację tak, aby spełniała wymagania i dają gwarancję odporności systemu na przeciążenie. Jeśli mieliście wytyczne, co do wydajności to testy wydajnościowe pozwalają na ich osiągnięcie, a jeśli ich nie było mogą jasno określić granice wytrzymałości serwisu. Pozwala to przenieść odpowiedzialność za decyzje jak bardzo wydajny ma być serwis czy jak duża i kosztowna jest platforma hostingowa. Tylko właściciel serwisu może wiedzieć, czego się spodziewa w serwisie, jakie są oczekiwania w zakresie wydajności bo to decyduje o kosztach produkcji aplikacji i jej utrzymania.

 

Pytania? Skontaktuj się z nami

Case Studies
Referencje

Bardzo sprawny kontakt z pracownikami Hostersi pozwolił nam pomyślną realizację naszego projektu i osiągnięcie założonych celów biznesowych. Jesteśmy pełni uznania dla kompetencji specjalistów Hostersi i jakości świadczonych przez nich usług.

Beata Kaczor
Dyrektor Zarządzający
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.