Akcja promocyjna i przeciążone serwery. Jak uniknąć problemów wydajnościowych?

Hosting

Akcja promocyjna i przeciążone serwery. Jak uniknąć problemów wydajnościowych?

Ela Kornaś

Przeciążenie serwera z powodu zbyt dużej ilości wejść na stronę i nagłego skoku ruchu to problem, z którym borykają się sklepy internetowe i większe serwisy. Wspólnymi siłami webmasterów i hostingodawców problemów da się uniknąć.

Planowanie dużej akcji promocyjnej powinno poprzedzać techniczne przygotowanie serwisu. Jak odpowiednio przygotować się do wzmożonego ruchu? Testy, testy, raz jeszcze testy! Tak z pewnością odpowie większość specjalistów. Aby przystąpić do optymalizacji platformy, w pierwszym kroku należy poznać jej możliwości, czyli odpowiednio wcześnie przeprowadzić testy obciążeniowe serwera.

Jak przeprowadzić testy obciążeniowe serwera?

Przed wgraniem kopii serwisu na serwer testowy potrzebny jest konkretny plan działań obejmujący:

  1. Przygotowanie środowiska aplikacji z wykorzystaniem narzędzi takich jak Tsung
  2. Przygotowanie sprzętu, konfiguracja musi być przygotowana w taki sposób, aby można było przeprowadzić horyzontalne skalowanie aplikacji i przeprowadzenie testów w różnych konfiguracjach.
  3. Symulacja ruchu na stronie,i wygenerowanie odpowiednich danych w określonym przedziale czasowym. Symulacja musi uwzględniać czas przestoju i akcje wykonywane dynamiczne
  4. Propozycje rozwiązań – specjaliści przygotowują możliwe rozwiązanie np. przygotowanie usług takich jak zastosowanie Content Delivery Network
  5. Kolejnym krokiem jest wybór optymalnej konfiguracji sprzętowej

Końcowym etapem testów wydajnościowych jest ponowne wgranie aplikacji na właściwie przygotowany serwer i przeprowadzenie ostatniej symulacji obciążenia. Tylko takie działanie pozwoli sprawdzić, czy proponowane rozwiązanie będzie adekwatne do potrzeb klienta.

Problemy wydajnościowe serwera. Jak ich uniknąć

Współpraca specjalistów IT 

Plan przeprowadzania testów obciążeniowych powinien uwzględniać odpowiednio przygotowaną infrastrukturę i zespół specjalistów IT, którzy będą w stanie odpowiednio zinterpretować wyniki. Kluczem do sukcesu jest płynna komunikacja pomiędzy webmasterami i twórcami oprogramowania a administratorami systemów. Wypracowanie warunków takiej współpracy pomoże w przyszłości skrócić czas trwania testów. Testy pozwalają na odkrycie błędów po stronie aplikacji i docelowo poprawić wydajność.

Jak podkreśla Krystian Chmiela, administrator systemów z Centrum Danych Kei.pl

Idealnie byłoby wykonywać testy wydajnościowe po jakiejkolwiek zmianie w infrastrukturze, aplikacji oraz bazie danych. To powinien być proces powtarzający się: każda zmiana – testy, zmiana – testy, aż do osiągnięcia satysfakcjonującego wyniku. Warto nastawić się na ciągłe szukanie słabych punktów.

Bardzo ważne jest, aby testy przeprowadzać na długo przed planowaną akcją promocyjną. Jeśli spodziewamy się wzmożonego ruchu, swoje plany warto przedstawić hostingodawcy z wyprzedzeniem. Może okazać się, że zmiany programistyczne będą konieczne i czas przygotowania rozciągnie się na kilka tygodni.

Czas ładowania strony

Szybkość odpowiedzi strony może być poprawiona przez:

  • Minifikacja – uporządkowanie kodu źródłowego
  • Eliminacja wewnętrznych przekierowań i błędów 404
  • Zmniejszenie liczby requestów
  • Optymalizacja Time to first byte
  • Wykorzystywanie pamięci podręcznej przeglądarki
  • Odpowiedni rozmiar i kompresję grafik
  • Kompresja danych

Planowanie akcji promocyjnych 

Przy planowaniu akcji promocyjnych warto pamiętać o kilku zasadach:

  • Unikaj odsyłania klientów na dynamicznie generowane strony – np. z kampanii mailingowych. Jeżeli 30,000 użytkowników Facebook`a trafi na stronę, która za każdym razem jest dynamicznie generowana, możemy spodziewać się problemów wydajnościowych.
  • Jeżeli strony są statyczne i dobrze cache’owane, ale mają dużo kodu JavaScript, który zawiera dużo wywołań przez AJAX, wówczas należy ograniczyć te żądania do minimum.
  • Należy wystrzegać się otwierania niepotrzebnych sesji, np. dla wywołań POST. Dodatkowo można usunąć niektóre elementy serwisu np. przeładowanie jakiegoś elementu strony z serwera po najechaniu myszką, może wystarczy zwykły link. Może to mieć negatywny wpływ na postrzeganie serwisu przez wąskie grono użytkowników, ale może mieć niemałe znaczenie w przypadku dużych kampanii i wzmożonego ruchu.
  • Używaj jak najwięcej statycznych, dobrze cache’owanych treści, ponieważ ich załadowanie będzie zawsze szybsze, niż wygenerowanie tego samego dynamicznie.
  • Stosuj rozwiązania Content Delivery Network

Jak spodobał Ci się ten artykuł?
0 Liczba ocen: 0

Ela Kornaś

Od 15 lat zajmuje się technologiami hostingowymi, domenowymi oraz związanymi z bezpieczeństwem. Odpowiada za produkty domenowe oraz certyfikaty SSL. Codzienna praca polega na zapewnianiu Ci najciekawszej na rynku oferty nazw domenowych i certyfikatów SSL. Prywatnie uwielbia tenis i bieganie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Poczytaj więcej na naszym blogu