Jak wziąć na klatę duży ruch w serwisie…

…i przeżyć, by o tym opowiedzieć

Wyobraź sobie, że opiekujesz się wcale-nie-takim-małym portalem informacyjnym. 4 mln odsłon miesięcznie, cytują Was inne media, regularnie trafiacie na Wykop. Macie grono wiernych czytelników, nowych wciąż przybywa. Codziennie kilka nowych artykułów, gorące dyskusje pod każdym z nich. Rozwijacie się stale ale stabilnie. Przeszliście z VPSa na dedyka; macie zapasy mocy. Twoim zadaniem jest wprowadzanie nowych funkcjonalności, poprawianie błędów. Czas płynie miło i przyjemnie.

Nagle… nieoczekiwane wydarzenie – napięta sytuacja na Ukrainie! Media prześcigają się w podawaniu kolejnych informacji, minuta po minucie relacjonują wydarzenia. Wasi czytelnicy szturmują Wasz serwis! Ruch na portalu skacze kilkukrotnie. Marzenie dla wydawcy? Niekoniecznie… Pierwsze odkrycie: serwis nie jest przygotowany na tak duży ruch. Drugie: serwer dedykowany się nie skaluje. Co robić?

keep calm

Poznaj rozwiązania, które zapewnią Ci pełen spokój, gdy w Twoim serwisie pojawi się duży ruch.

Czytaj dalej


Varnish

Varnish jest zainstalowany na serwerach i możesz z niego korzystać na hostingu współdzielonym i VPSach. Uruchomisz go we własnym zakresie, na prawach Twojego konta – będzie pośredniczył pomiędzy Nginxem a Twoją aplikacją (patrz schemat).

schemat konfiguracji

Czytaj dalej


Cache’owanie w Railsach

Przychodzi czasem taki moment w życiu aplikacji, że trzeba pomyśleć o cache’owaniu. To zazwyczaj miły moment, bo często wynika ze sporego wzrostu liczby użytkowników, ale to nie zmienia faktu, że cache prosty nie jest. Tzn. niby jest prosty, ale jak dochodzi do szczegółów to się sprawy komplikują — jak zwykle. Można do tego problemu podejść na 1000 różnych sposobów, każdy ma jakieś wady i zalety, ja przedstawiam rozwiązanie, którego używamy i które polecam.

Czytaj dalej