Testy obciążeniowe

testy-obciazenioweTesty obciążeniowe mają ogromne znaczenie jeśli chodzi o samą wydajność aplikacji.

Ten rodzaj testu polega na przetestowaniu aplikacji na obsługę zakładanej liczby jednoczesnych użytkowników, wspomagając się narzędziami automatycznymi jak Apache Benchmark, jMeter i innymi.

W aplikacjach webowych (serwisach internetowych, sklepach, itp) test obciążeniowy potrafi wyłonić kilka podstawowych problemów, które często trzeba naprawić w trybie pilnym. Są to między innymi takie elementy jak:

  • za duża ilość podzapytań w jednym zapytaniu do do bazy danych ,
  • za słaby serwer, vps lub hosting by obsłużyć daną ilość użytkowników w jednym czasie
  • niezoptymalizowany kod skryptów strony, powodujący nieoczekiwane zawieszenia się serwera, liczbe błędy

Dzięki testom obciążeniowym będziemy tez w stanie dowiedzieć się jak duży ruch będzie w stanie obsłużyć nasza aplikacja i serwer, czy przepustowość łącza i innych towarzyszących tu parametrów technicznych jest na odpowiednim poziomie.

Bardzo często w codziennym życiu możemy się spotkać z przeciążeniami serwerów stron internetowych, które są reklamowane w mediach. Strony, które mają 10-20 użytkowników w jednym czasie, po emisji reklamy pokazują błąd 500 czyli przeciążenie serwera. Problem jest niezwykle częsty i w sytuacjach, gdy właściciel jakiegoś serwisu eCommerce wydaje pieniądze na reklamę, nie zarabia na niej, budując jednocześnie raczej zły PR, kojarząc się później użytkownikom jako „ta strona, która nie działa”.

Testy obciążeniowe wykonujemy w środowiskach najbardziej zbliżonych do produkcyjnych, emulując przy tym zachowania prawdziwych użytkowników.

Do samego testu niezbędny jest dostęp do monitoringu parametrów serwera, gdyż poza skryptowymi błędami związanymi z wydajnością aplikacji, bardzo często co zostało wyżej wspomniane problem może stanowić sama konfiguracja serwera, który po prostu w chwili przeprowadzania testu wykorzystuje 99 lub 100% któregoś z zasobów (pamięć RAM, CPU, przepustowość łącza).

Co uzyskamy po takim teście?

Efektem końcowym testu obciążeniowego będzie wskazanie elementów aplikacji oraz problemów związanych z hardwarem, które niezwłocznie trzeba poprawić.