sysadmin.ecommerce > Skalowanie High-Availability
$ ab -n 10000 -c 500 /checkout

>_ Skalowanie infrastruktury i przygotowanie do peaków sprzedażowych (Black Friday / TV)

Duże podmioty e-commerce lub dynamicznie rosnące brandy, które planują ogólnokrajowe kampanie telewizyjne, starty dropów produktowych lub przygotowują się do Black Friday i wiedzą, że pojedyncza instancja VPS nie wytrzyma tego obciążenia.

Dlaczego skalowanie pionowe przestaje działać?

Dokładanie vCPU i RAM do pojedynczego VPS-a (skalowanie pionowe) działa tylko do pewnego momentu. Przy kilkuset współbieżnych użytkownikach w koszyku baza danych zaczyna blokować tabele, a procesy PHP-FPM wyczerpują dostępną pamięć.

Testowałem sklep, który na 16 vCPU i 32 GB RAM przy 300 współbieżnych użytkownikach w checkout zwracał timeout. Problemem nie był brak mocy — problemem była architektura monolityczna, gdzie wszystkie zapytania (odczyt produktów, zapis sesji, logowanie zamówień) uderzały w jedną instancję MariaDB, blokując się nawzajem.

Rozwiązaniem jest architektura wysokiej dostępności (HA): rozbicie monolitu na niezależne warstwy, które można skalować horyzontalnie (dodawać kolejne instancje) w miarę wzrostu ruchu.

Sytuacja krytyczna i wdrożone rozwiązanie

Pożar

Tradycyjne metody skalowania pionowego (dokładanie CPU/RAM) osiągnęły limit, a testy obciążeniowe wykazują locki na bazie danych przy symulacji zaledwie kilkuset współbieżnych użytkowników w koszyku. Wizja całkowitego paraliżu biznesu w najważniejszym dniu roku.

Rozwiązanie

Projektowanie i wdrożenie architektury wysokiej dostępności (High-Availability). Rozbicie monolitu: separacja warstwy serwerów WWW (Nginx/LiteSpeed) z load balancerem, replikacja bazy danych MariaDB/MySQL (Master-Slave z separacją ruchu Read/Write), zewnętrzny klaster Redis dla sesji i cache oraz integracja z CDN. Przeprowadzam realne testy load-testowe (RPS/Concurrent Users) potwierdzające stabilność.

Komponenty architektury High-Availability

  1. 01
    Load Balancer (Nginx / HAProxy)

    Rozdziela ruch na wiele instancji serwerów WWW. Jeśli jeden backend padnie — ruch automatycznie przechodzi na pozostałe.

  2. 02
    Replikacja bazy danych (Master-Slave + Read/Write Split)

    Zapisy (zamówienia, sesje) trafiają na Master. Odczyty (przeglądanie produktów, kategorii) rozkładają się na instancje Slave — brak locków, brak kolejek.

  3. 03
    Zewnętrzny klaster Redis

    Sesje użytkowników i object cache trzymane są w dedykowanym klastrze Redis poza serwerami WWW — każdy backend widzi ten sam stan koszyka.

  4. 04
    CDN + Testy obciążeniowe (k6 / ApacheBench)

    Statyczne zasoby (zdjęcia produktów, JS, CSS) serwowane przez CDN. Przed kampanią przeprowadzam testy load-testowe potwierdzające stabilność przy zakładanym RPS.

Pytania i odpowiedzi — Skalowanie e-commerce

Ile kosztuje architektura High-Availability dla e-commerce? +

Koszt zależy od skali. Minimalna konfiguracja HA (2 serwery WWW + load balancer + replikacja DB + Redis klaster) dla średniego sklepu to wydatek rzędu 1200-2000 PLN miesięcznie za infrastrukturę. Sama usługa zaprojektowania i wdrożenia architektury HA to projekt wyceniany indywidualnie na podstawie SOW — zwykle 40-80 godzin inżynierskich.

Czy architektura HA jest konieczna poza Black Friday? +

Nie każdy sklep potrzebuje pełnego HA przez cały rok. Dla większości firm oferuję model hybrydowy: codzienna infrastruktura działa na zoptymalizowanym pojedynczym VPS-ie, a na okres kampanii (Black Friday, TV, start dropu) tymczasowo skaluję środowisko do architektury HA. Po sezonie wracamy do bazowej konfiguracji — płacisz tylko za okres szczytowego zapotrzebowania.

Jakie RPS (Requests Per Second) utrzyma architektura HA? +

Dobrze zaprojektowana architektura HA dla WooCommerce/PrestaShop z load balancerem (Nginx/HAProxy), replikacją MariaDB Master-Slave (Read/Write split) i klastrem Redis utrzymuje stabilnie 2000-5000 RPS przy czasie odpowiedzi poniżej 200ms. Każde wdrożenie przechodzi realne testy obciążeniowe (ApacheBench, k6) przed produkcją.

$ k6 run load-test.js — 5000 VUs, twoja architektura bez niespodzianek.

Twój sklep ma przetrwać najbliższy szczyt ruchu?

Nie czekaj na crash bazy danych w trakcie kampanii. Zgłoś projekt do analizy infrastruktury odpowiednio wcześniej, aby bezpiecznie zaprojektować i przetestować klaster HA przed startem dropu lub Black Friday.

Zgłoś projekt do analizy Jak współpracuję?