Dlaczego pamięć podręczna nie załatwia sprawy
Stronę firmową można w całości zapisać jako gotowe pliki i serwować bez uruchamiania aplikacji. W sklepie koszyk, stany magazynowe, ceny dla zalogowanego klienta i proces zamówienia muszą być policzone na bieżąco. Im dalej klient jest w ścieżce zakupowej, tym mniej da się zapamiętać - a to właśnie te żądania decydują o sprzedaży.
Baza danych jest wąskim gardłem
Przy doborze serwera pod sklep patrzymy najpierw na pamięć i na dyski, nie na liczbę rdzeni. Baza powinna mieścić swój roboczy zbiór danych w pamięci, bo każde zejście do dysku kosztuje. Dyski muszą być szybkie w dostępie losowym - przy katalogu z dziesiątkami tysięcy pozycji i rozbudowanym filtrowaniem to widać natychmiast.
- pamięć: z zapasem na wzrost katalogu i na szczyty ruchu
- dyski: szybkie w dostępie losowym, z kontrolą stanu nośników
- procesor: istotny przy generowaniu stron i miniatur, ale rzadko jest pierwszym ograniczeniem
- osobna instancja bazy danych przy większych sklepach, żeby odciąć ją od procesów aplikacji
Szczyty sprzedaży
Serwer dobiera się pod szczyt, nie pod średnią. Kampania, wyprzedaż albo wzmianka w mediach potrafią dać ruch kilkunastokrotnie wyższy niż zwykle, i to w ciągu kilku minut. Przed zaplanowaną kampanią warto wykonać test obciążeniowy na kopii sklepu - wychodzą wtedy rzeczy, których nie widać przy normalnym ruchu, najczęściej brakujące indeksy w bazie i limity liczby procesów.
Szczyt sprzedaży to zarazem najgorszy moment na jakąkolwiek zmianę na serwerze. Okna serwisowe ustalamy z klientami tak, aby wypadały poza sezonem i poza kampaniami.
Poczta transakcyjna
Sklep wysyła potwierdzenia zamówień, powiadomienia o wysyłce i resetowanie haseł. Te wiadomości muszą docierać. Wysyłka bezpośrednio z serwera sklepu, bez poprawnych rekordów uwierzytelniających, kończy się tym, że część klientów nie dostaje potwierdzenia i dzwoni na infolinię. Przy sklepach kierujemy pocztę transakcyjną przez usługę wyspecjalizowaną i monitorujemy skuteczność doręczeń.
Kopie zapasowe bazy
Dla sklepu kopia raz na dobę jest zwykle za rzadka, bo oznacza możliwość utraty całego dnia zamówień. Stosujemy kopię pełną raz na dobę plus zapis dziennika transakcji, co pozwala odtworzyć stan bazy z dokładnością do minut. Co kwartał sprawdzamy odtworzenie na osobnej maszynie i mierzymy, ile ono trwa, bo ta liczba jest tym, co realnie obiecujemy klientowi.