Testy obciążeniowe serwerów – stress testy

Testy obciążeniowe serwerów

Stress testy to niezwykle ważna część testów w e-commerce niestety bardzo często pomijana, wykonywana niepoprawnie. Dlaczego są takie istotne? Całe korzyści z wielkich kampanii online czy offline może zaprzepaścić drobny problem z infrastrukturą powodujący niedostępność całego serwisu.

Dlaczego warto robić testy przeciążeniowe

Stress TestPrzy planowaniu sprzedaży poprzez kanał online podstawowymi rzeczami które w pierwszej kolejności szacujemy to potencjalna liczba odwiedzających, sprzedaż jaką możemy wygnerować i oczywiście budżet jakim dysponujemy na działania marketingowe.
Bardzo ważnym elementem procesu są testy które pokażą czy pod dużym naporem użytkowników serwis będzie wczytywał się szybko i czy w pewnym momencie nie przestanie w ogóle odpowiadać. Przeprowadzenie testu wydajnościowego serwisu jest niezwykle ważne bo może się okazać, że cała praca nad kampanią nie będzie miała sensu bo serwis będzie niedostępny

Jak wygląda test wydajnościowy krok po kroku

Podstawową zasadą (niestety często pomijaną) jest przeprowadzenie odpowiedniej analizy rozkładu ruchu. Służy to głównie temu żeby wiedzieć na jakich stronach najczęściej poruszają się użytkownicy i na podstawie takiego rozkładu ruchu przygotować scenariusze. Do tego typu analizy wystarczy wspierać się systemem monitorującym aktywność odwiedzających stronę takim jak Google Analytics czy Piwik.

Kolejnym ważnym elementem jest analiza które strony potencjalnie mocno obciążają infrastrukturę czy to poprzez dużą liczbę zapytań do systemów bazodanowych czy nieoptymalny kod/strukturę.

Po takiej analizie można przejść do kolejnego kroku czyli wyboru oprogramowania do testów i pisania scenariusza testu.

Wybór oprogramowania – gatling/jmeter

Korzystamy głównie z dwóch skryptów JMETER i Gatling. Oba skrypty idealnie nadają się do wykonania testów.

Scenariusze

Na tym etapie warto wybrać spośród dwóch typów testów – upraszczając:

  • Stress Test – test przeciążeniowy – pokazujący gdzie jest niejako granica możliwości i przekroczenie jej. System przeciąża się wtedy większą liczbą użytkowników niż teoretycznie jest w stanie obsłużyć i bada się czy zachowanie serwisu podczas awarii jest poprawne
  • Load Test – test podczas którego doprowadza się dużą liczbę użytkowników w dłuższym czasie nie powodując zatrzymania systemu i sprawdzanie jak dużą liczbę zapytań system jest w stanie obsłużyć w długim czasie

Scenariusze pod takie testy należy napisać uwzględniając cel testu, szacowaną liczbę użytkowników, ich przyrost w czasie, jakie strony będziemy odpytywali.

Przygotowanie do testu

Oczywiście test powinien być przeprowadzany w godzinach nocnych lub porannych kiedy liczba użytkowników na stronie jest stosunkowo mała.
Co należy przygotować:

  • Porządny monitoring (zabbix, Nagios) który będzie monitorował infrastrukturę. Tutaj ważne żeby oprócz samego zużycia RAMU czy CPU był też włączony monitoring bardziej rozszerzony monitorujący parametry baz danych czy ruch sieciowy pomiędzy serwerami.
  • Admin/Admini gotowi do pomocy w razie położenia serwisu i na szybko do wyciągnięcia wniosków
  • Strona maintenance – informująca userów o prowadzonych pracach.

Co może się zdarzyć?

Absolutnie wszystko jeżeli infrastruktura nie jest pewna 🙂 W 90% przypadków wynik testu jest w większości przewidywalny i do oszacowania jednak po to się robi test aby pozbyć się niepewności. Często zdarza się że serwis przestanie odpowiadać jednak po zakończeniu testu pracuje poprawnie. Najgorsze są sytuacje gdy serwis kompletnie się „zwiesi” i restart poszczególnych usług nie pomaga bo rozsypała się baza danych, lub po restarcie zaczytała się błędna konfiguracja nierestartowanego wcześniej serwera.

Podsumowanie

Testy obciążeniowe dają cała masę informacji gdzie są słabe punkty serwisu, co należy poprawić, co zoptymalizować zarówno po stronie kodu strony www jak i infrastruktury.

Czemu u nas?

Dysponujemy infrastrukturą która dawała radę przeciążać największe sklepy internetowe w kraju, od 5 lat zajmujemy się testami obciążeniowymi których przeprowadziliśmy niezliczoną ilość.

O Blinked

Marketingiem internetowym zajmujemy się od 2005 roku – w tym czasie zrealizowaliśmy setki projektów e-commerce, wypozycjonowaliśmy niezliczoną ilość fraz a co najważniejsze pomogliśmy sprzedać na witrynach klientów miliony produktów i usług zarówno w kraju i za granicą

Zainteresowany? Chcesz dowiedzieć się więcej?

Skontaktuj się z nami, opisz swój biznes a my przedstawimy ofertę dopasowaną do Twoich potrzeb
Kontakt

Nasze realizacje