Jak duży ruch może obsłużyć moja witryna?
Opublikowany: 2023-02-12Uzyskanie jasnego zrozumienia wydajności i pojemności witryny nie jest prostym zadaniem — w rzeczywistości może to być dość żmudny proces, jeśli nie wiesz, jak do niego podejść. Ten szczegółowy przewodnik analizuje wskaźniki, na które należy zwrócić uwagę, aby raz na zawsze odpowiedzieć na pytania dotyczące ruchu w witrynie.
W WP Engine znamy wydajność witryny jest czymś więcej niż tylko jednowymiarowym hasłem. W rzeczywistości, jeśli chodzi o witryny działające na naszej platformie, postrzegamy wydajność jako strategiczne równanie, które łączy aspekty naszej chmury i rozwiązań bezpieczeństwa z naszą specjalistyczną wiedzą na temat zarządzania WordPress.
W ten sposób jesteśmy w stanie podejść do wydajności tak, jak należy do niej podejść, z wielu punktów widzenia, z praktyczną listą zmiennych i wskaźników, które wymagają aktywnego wsparcia.
Postrzegamy te wysiłki jako produkt sam w sobie, który nigdy się nie kończy — stale pracujemy nad sposobami poprawy wszystkich elementów wydajności witryny na naszej platformie. Przyjmując podejście „nigdy nie usatysfakcjonowane”, WP Engine jest w stanie pomóc naszym klientom zbudować jedne z najszybszych witryn na WordPress, a my jesteśmy w stanie pomóc im w utrzymaniu ich działania w obliczu wszystkiego, od skoków ruchu po bezpieczeństwo groźby.
Podczas gdy omawiamy tutaj szybkość i wskaźniki, takie jak czas do pierwszego bajtu (TTFB), poniższy artykuł zawiera szczegółowe informacje na temat wskaźników ruchu i często spotykanego, choć kluczowego pytania: „Jak duży ruch może obsłużyć moja witryna?”
Sformułowanie pytania.
Pojemność witryny, tj. ilość ruchu, jaką witryna może obsłużyć w danym momencie, jest kluczowym elementem ogólnej wydajności witryny i ma bezpośredni wpływ na wskaźniki KPI, a także na to, ile czasu programiści spędzają na rzeczach takich jak infrastruktura (jeśli ponowne zarządzanie własną infrastrukturą we własnym zakresie). To powiedziawszy, ocena, ile ruchu może obsłużyć Twoja witryna, naprawdę zaczyna się od zrozumienia typów użytkowników i ruchu, który otrzymuje Twoja witryna.
Najpierw przyjrzyjmy się definicji jednoczesnych użytkowników w kontekście Internetu.
W WP Engine tym zasobem jest Twoja witryna WordPress.
Warto zauważyć, że współbieżni użytkownicy to wskaźnik wysokiego poziomu. W kilku następnych sekcjach dowiesz się, że współbieżni użytkownicy prowadzą do bardziej szczegółowej metryki jednoczesnych żądań. Ponieważ te żądania mają różne kształty i rozmiary, możemy użyć buforowania, aby zrozumieć, jak witryna działa na dużą skalę. Gdy zagłębimy się bardziej, zbadamy, w jaki sposób współbieżność i buforowanie współdziałają ze sobą.
Jak więc wykorzystać równoczesnych użytkowników, aby zrozumieć możliwości swojego środowiska? Zanim odpowiemy na to pytanie, cofnijmy się o krok i przyjrzyjmy się jednemu z najczęściej używanych obecnie wskaźników: miesięcznemu ruchowi.
Miesięczne wskaźniki ruchu: czy są pomocne?
Ogólnie rzecz biorąc, tak. Liczby z miesiąca na miesiąc zapewniają zrozumienie podstawowego profilu ruchu: niski, średni lub wysoki. Dane te zapewniają również wgląd w potencjalne trendy, wzorce i sezonowość, ponieważ miesięczny ruch może się zmieniać w zależności od wielu zmiennych, w tym kampanii marketingowych, rankingów wyszukiwarek i warunków rynkowych.
W przypadku większości witryn normalny, codzienny ruch może być dość stabilny i przewidywalny. Możemy nazwać ten ruch bazowy . Jednak niektóre witryny, w których występują powtarzające się skoki ruchu, nie martwią się o linię bazową. Bardziej interesują ich wydarzenia o dużym natężeniu ruchu, które mają kluczowe znaczenie dla ich działalności, takie jak witryna sprzedająca bilety na koncerty lub witryna służąca do ogłaszania nowych produktów. Kiedy te zdarzenia mają największe znaczenie, ważne jest, aby środowisko produkcyjne obsługiwało nie tylko ruch podstawowy, ale także szczytowy poziom ruchu.
W tym przypadku miesięczne dane o ruchu nie pomogą. Bardziej wiarygodną miarą do zrozumienia przepustowości na tym (ale tak naprawdę dowolnym) poziomie ruchu są użytkownicy jednocześnie.
Zanurz się głębiej w dane użytkowników.
Zanim przejdziesz do jednoczesnych użytkowników, warto zrozumieć hierarchię metryk w dziedzinie analityki cyfrowej. Oto diagram ilustrujący to:
- Użytkownicy lub odwiedzający to dane opisujące użytkownika wchodzącego na stronę po raz pierwszy. Zwykle jest definiowany przez unikalny identyfikator użytkownika. W WP Engine jest zdefiniowany jako unikalny adres IP i liczy się jako pojedynczy unikalny odwiedzający dziennie. Ponieważ wszelkie dodatkowe wizyty tego samego użytkownika są rozpoznawane na podstawie unikalnego identyfikatora użytkownika, unikalny użytkownik byłby liczony tylko raz.
- Sesje lub wizyty reprezentują okres, w którym użytkownik korzystał z witryny. Sesja rozpoczyna się, gdy użytkownik po raz pierwszy odwiedza witrynę, i kończy się, gdy zajdą trzy rzeczy: użytkownik zamknie przeglądarkę, wyczyści pliki cookie lub stanie się nieaktywny przez 30 minut (jest to domyślny okres w Google Analytics, który można dostosować). Jeden użytkownik może mieć wiele sesji w ciągu dnia.
- Trafienia to interakcja między witryną a określonym zasobem. Po stronie analityki cyfrowej ta metryka jest definiowana jako dane przesyłane do Google Analytics. Te działania to najczęściej wyświetlenia strony. W kontekście WP Engine trafienie może być żądaniem do środowiska produkcyjnego. Żądania te mogą być buforowane, jak zasoby statyczne (pliki png, jpeg, pdf) lub dynamiczne, jak zapisy w bazie danych (rejestracje, publikowanie postów, zamówienia produktów).
W oparciu o hierarchię tych metryk, gdy przechodzisz od góry do dołu, dane stają się mniej niejednoznaczne i bardziej szczegółowe. Jednocześnie zrozumienie wpływu tych wskaźników na wydajność staje się bardziej jasne.
Krótko mówiąc, znajomość liczby miesięcznych użytkowników lub odwiedzających to za mało .
A co z aktywnymi użytkownikami Google Analytics?
Często dochodzi do nieporozumień dotyczących sposobu, w jaki Google Analytics i WP Engine przechwytują i definiują metryki. Mówiąc prościej, oba śledzą te dane w różnych celach. Google Analytics to przede wszystkim narzędzie do analizy marketingu i konwersji. Natomiast WP Engine to zarządzana platforma, która śledzi wykorzystanie surowych zasobów w warstwie infrastruktury i wydajność w warstwie aplikacji. Metodologie są różne i mogą powodować rozbieżności między obiema platformami.
Jeśli chodzi o współbieżność, Google Analytics oferuje raporty w czasie rzeczywistym, które monitorują efekty kampanii marketingowych w Twojej witrynie. Obejmuje to liczbę aktywnych użytkowników w Twojej witrynie w tej chwili:
Mimo że dane te działają w czasie rzeczywistym, nie do końca mierzą całkowitą liczbę użytkowników w Twojej witrynie w danym momencie i jednocześnie. Użytkownik aktywny w czasie rzeczywistym to unikalny użytkownik, który wywołał zdarzenie lub wyświetlenie strony w ciągu ostatnich pięciu minut. Jeśli użytkownik opuści witrynę przed upływem pięciu minut, Google nadal liczy go jako aktywnego użytkownika. Jeśli użytkownik pozostaje w witrynie dłużej niż 5 minut, nie jest już liczony jako aktywny użytkownik, mimo że nadal wchodzi w interakcję z witryną.
Mając to na uwadze, liczba aktywnych użytkowników Google może być większa niż rzeczywista liczba użytkowników jednocześnie korzystających z Twojej witryny. A w mniej typowych przypadkach metryka może być mniejsza niż rzeczywista współbieżność w zależności od zachowania użytkownika i średniego czasu trwania sesji.
Czy możesz polegać na aktywnych użytkownikach Google Analytics? Jak zawsze, im więcej masz danych, tym lepiej. Ale samo to nie określa Twoich potrzeb w zakresie pojemności.
Jak mierzyć jednoczesnych użytkowników .
Jeśli Google Analytics nie zapewnia jasnych danych dla jednoczesnych użytkowników, to co je zapewnia? Oto dwie popularne metody, które pomogą Ci określić tę liczbę:
1. Oblicz jednoczesnych użytkowników .
Korzystając z tej formuły z danymi pobranymi z Google Analytics, możesz obliczyć liczbę aktywnych użytkowników w swojej witrynie w bardzo małej jednostce czasu, takiej jak sekunda:
[Szczytowe sesje godzinowe X średni czas trwania sesji (s)] / 3600
W przypadku sesji w godzinach szczytu przejdź do raportu „Przegląd odbiorców” w Google Analytics —> znajdź okres największego natężenia ruchu —> zmień kartę na „Godzinowo” —> najedź kursorem na wykres, aby zobaczyć największą liczbę sesji w ciągu godziny.
Metryka dotycząca średniego czasu trwania sesji jest wyświetlana na pulpicie nawigacyjnym Przegląd. Jeśli nie, przejdź do sekcji „Wybierz dane” na karcie Przegląd, aby wyświetlić czas trwania.
2. Wybierz alternatywę Google Analytics .
Chociaż Google Analytics jest najpopularniejszym narzędziem do analityki internetowej w branży, może nie spełniać wszystkich Twoich konkretnych potrzeb. Istnieje wiele narzędzi analitycznych, które mogą mierzyć współbieżność w sposób bardziej zgodny z tradycyjną definicją równoczesnych użytkowników.
A co z pamięcią podręczną?
Czy zatem współbieżni użytkownicy są prawidłowym pomiarem wydajności? Nie całkiem. Ta metryka pomaga zrozumieć skalę scenariusza na wysokim poziomie, ale nie zapewnia głębszego wglądu.
To powiedziawszy, warto zrozumieć różnicę między użytkownikami zalogowanymi w Twojej witrynie WordPress (członkami, administratorami, redaktorami) a użytkownikami niezalogowanymi. Zachowanie tych użytkowników generuje różne typy „trafień” lub żądań, które są najbardziej wskazujące na wydajność witryny (wspomniane we wcześniejszej sekcji powyżej).
Aby to rozwinąć, te różne typy żądań mają postać statyczną lub dynamiczną:
- Zawartość statyczna (pliki, które rzadko się zmieniają), na przykład CSS, JS i obrazy, można łatwo przechowywać w pamięci podręcznej.
- Zawartość dynamiczna, taka jak strony logowania, koszyki zakupów i obszary tylko dla członków, nie jest zapisywana w pamięci podręcznej, ponieważ wymaga, aby ekran pokazywał coś unikalnego dla każdej odwiedzającej go osoby.
Pojawia się koncepcja buforowalności , która odnosi się do procesu przechowywania danych w pamięci podręcznej lub w obszarze tymczasowego przechowywania. Gdy treść jest zapisywana w pamięci podręcznej, przeglądarka może ją pobrać z pamięci podręcznej, a nie z oryginalnego serwera, oszczędzając czas użytkownika końcowego i oszczędzając sieci dodatkowemu obciążeniu ruchem.
W odniesieniu do powyższej klasyfikacji statycznej i dynamicznej witryny z bardziej statyczną zawartością będą miały wyższy wynik buforowania. I odwrotnie, witryny z bardziej dynamiczną zawartością będą miały niższy wynik buforowania.
Gdy użytkownicy WP Engine są zalogowani do swojej witryny WordPress, wchodzą w interakcję z dynamiczną zawartością, której prawie całkowicie nie można zapisać w pamięci podręcznej. Dlatego omija nasze warstwy buforowania frontendu, takie jak Varnish i CDN. W rezultacie te żądania, których nie można zapisywać w pamięci podręcznej, zwykle wymagają więcej zasobów, ponieważ muszą zostać na nowo przetworzone w zapleczu za pośrednictwem PHP i MySQL. Tymczasem witryny, które nie wymagają logowania, mogą różnić się pamięcią podręczną w zależności od elementów na stronie.
Ten diagram ilustruje różne technologie wymagane do obsługi treści statycznych i dynamicznych:
Aby to zilustrować, załóżmy, że mamy witrynę adopcyjną szczeniąt o nazwie „The Puppy Nursery”. Jako nowy użytkownik wchodzący na stronę, nagle jesteś zajęty wysokiej jakości zdjęciami na stronie głównej. Po najechaniu kursorem na menu decydujesz się kliknąć stronę biograficzną szczeniaka, aby uzyskać więcej informacji o każdym zwierzęciu. Te strony są w większości statyczne i zawierają opisy i zdjęcia uroczych szczeniąt. Ponieważ te strony zawierają głównie zawartość statyczną (możliwość zapisywania w pamięci podręcznej), ta konkretna sesja użytkownika nie wymaga dużego nakładu zasobów.
Teraz, po dniu, postanawiasz ponownie odwiedzić witrynę z zamiarem adopcji szczeniaka. Klikasz na stronę rejestracji, która dynamicznie wyskakuje z listą szczeniąt znajdujących się najbliżej Twojej lokalizacji geograficznej. Po wybraniu szczeniaka wypełniasz formularz z danymi kontaktowymi, wyrażasz zgodę na zwolnienie z obowiązku bezpieczeństwa i podajesz dane swojej karty kredytowej w celu uiszczenia opłaty adopcyjnej. Po naciśnięciu przycisku Prześlij zostaniesz przekierowany na stronę z podziękowaniami. Ta konkretna sesja użytkownika jest bardziej dynamiczna dzięki elementom interaktywnym, takim jak spersonalizowane wyskakujące okienko, przesyłanie formularza i transakcja kartą kredytową. W rezultacie wymaga więcej zasobów.
Jak pokazuje ten przykład, różnice w sesjach użytkowników skutkują różnymi typami żądań i liczbą żądań kierowanych do serwera. Żądania te są lepszymi wskaźnikami pojemności i wydajności niż sama liczba jednoczesnych użytkowników.
Ogólnie rzecz biorąc, liczba równoczesnych zalogowanych i wylogowanych użytkowników oraz pamięć podręczna pomagają zrozumieć zapotrzebowanie witryny na zasoby.
Różne rodzaje witryn .
Oczywiście każda strona internetowa jest wyjątkowa i stoi przed różnymi wyzwaniami. Jednak nadal prawdą jest, że podstawowe cechy strony internetowej poinformują Cię o jej buforowaniu.
Rozwijając tę koncepcję, oto różne typy witryn, które są zwykle bardziej statyczne lub dynamiczne.
Statyczny:
- Witryny z broszurami
- Strony marketingu B2B
- Organizacje non-profit
- Blogi (niska aktywność postów)
- Dowolna witryna z bardzo niską interakcją użytkownika
Dynamiczny:
- sklepy internetowe
- Witryny członkowskie
- Wiele witryn WordPress
- Systemy zarządzania uczeniem
- Dowolna witryna z dużą interakcją użytkowników (komentarze, rejestracje, transakcje zamówień, aktywność po zalogowaniu, zapytania wyszukiwania)
Uwaga: Chociaż są one sklasyfikowane jako takie, Twoja witryna WordPress może zawierać zarówno elementy statyczne, jak i dynamiczne. Dlatego patrząc na wynik buforowania, ważne jest, aby zrozumieć stosunek między nimi.
Przełóżmy to teraz na ruch. Wyobraź sobie scenariusz, w którym masz dwa rodzaje witryn: broszury i e-commerce. Z natury strona z broszurami jest bardziej statyczna niż sklep eCommerce. Odpowiednio, powiemy, że wynik buforowania każdej witryny wynosi 90% i 20%. Jeśli Twoja witryna jest hostowana na WP Engine, skontaktuj się z naszym zespołem pomocy technicznej, aby określić swój wynik buforowania.
W tym scenariuszu załóżmy, że zdecydowałeś się użyć dedykowanego rozwiązania Google Cloud na platformie WP Engine dla każdej witryny. Zakładając, że rozwiązania są dokładnie takie same, jaki ruch może obsłużyć witryna z broszurami, zanim ulegnie awarii? A co z witryną e-commerce?
Jak już wiesz, odpowiedź zależy. Ogólnie rzecz biorąc, witryna z broszurami na dedykowanym rozwiązaniu mogłaby obsłużyć znacznie więcej odwiedzających miesięcznie niż witryna e-commerce. Jest po prostu bardziej statyczny i buforowany. To stosunkowo bezpieczne założenie, które możemy przyjąć.
Jeśli chodzi o poznanie dokładnej liczby odwiedzających, których może obsłużyć Twoja witryna, zalecamy podejście do tego zagadnienia całościowo, dzieląc je na mniejsze części.
Zadawanie właściwych pytań .
Zamiast określać, ile ruchu może obsłużyć Twoja witryna, być może bardziej pomocnym pytaniem może być…
Ilu jednoczesnych użytkowników może obsłużyć moja witryna w określonym czasie w realistycznym scenariuszu dużego ruchu? Na przykład Twoja witryna będzie prezentowana w programie telewizyjnym i spodziewasz się 1000 jednoczesnych niezalogowanych użytkowników przez 20 minut.]
Ilu z tych użytkowników jest zalogowanych, a ilu wylogowanych?
Jak buforowana jest witryna?
Jaki jest akceptowalny poziom czasu odpowiedzi, żądań na minutę, opóźnień i współczynników błędów podczas tego szczytowego obciążenia?
A co przekłada się na biznes, co się stanie, jeśli te KPI nie zostaną osiągnięte?
Jak może to wpłynąć na przychody?
Wprowadź testy obciążenia .
Aby odpowiedzieć na te pytania, zdecydowanie zalecamy wykonanie testu obciążenia w celu symulacji rzeczywistego scenariusza.
Test obciążenia to proces stawiania wymagań systemowi w celu określenia jego działania.
Chociaż test wydajności strony (dostępny dla klientów WP Engine) lub test narzędzia Speed Tool (dostępny dla wszystkich) mierzy szybkość witryny na podstawie jednej wizyty, to tylko pierwszy rozdział. Test obciążenia mówi całą historię.
Najczęściej test obciążenia jest wykonywany w celu symulacji szczytowego ruchu z dużą liczbą jednoczesnych użytkowników. Innymi słowy, jak witryna działa pod dużym obciążeniem, a nie tylko pojedynczą wizytą.
Aby naprawdę zrozumieć możliwości Twojego środowiska specjalnie dla Twojej witryny, wykonanie testu obciążenia da Ci większą pewność na każdym poziomie ruchu.
Oto kilka pomocnych zasobów:
Więcej informacji na temat testowania obciążenia można znaleźć w tym dokumencie.
Aby uzyskać wskazówki dotyczące poprawy buforowania strony, zapoznaj się z tym artykułem.
Końcowe przemyślenia .
Zrozumienie, ile ruchu może obsłużyć Twoja witryna, może być z pewnością mylące. Większość dostawców hostingu zarządzanego określa własne kryteria i maksymalną liczbę odwiedzających miesięcznie dla swoich rozwiązań. Ponieważ Twoja witryna ma unikalny zestaw cech, nie można polegać na tych liczbach przy ocenie wydajności i pojemności. Pamiętaj, że miesięczne dane dotyczące ruchu nie pomogą Ci zrozumieć, jak Twoja witryna poradzi sobie z wydarzeniem o dużym natężeniu ruchu, nawet takim, które może trwać tylko przez krótki czas.
Dlatego te szacunkowe liczby należy traktować wyłącznie jako wskazówki. Możesz podjąć bardziej świadomą decyzję, zadając właściwe pytania, oceniając właściwe dane i, jeśli to konieczne, przeprowadzając odpowiednie testy.
Podsumowując, ruch to tylko jeden z elementów układanki wydajności i tylko jeden z decydujących czynników przy wyborze rozwiązania i platformy. Inne czynniki obejmują warstwy buforowania, wydajność bazy danych, jakość i projekt infrastruktury, wysoką dostępność i skalowalność.
Każdy biznes ma inne potrzeby. Klienci korporacyjni muszą spełnić krytyczne wymagania biznesowe i funkcjonalne.
Zgodnie z filarami AWS Well-Architected Framework, są to:
- Doskonałość operacyjna: zdolność do uruchamiania i monitorowania systemów w celu dostarczania wartości biznesowej oraz ciągłego doskonalenia procesów i procedur pomocniczych.
- Bezpieczeństwo: Zdolność do ochrony informacji, systemów i zasobów przy jednoczesnym dostarczaniu wartości biznesowej dzięki ocenom ryzyka i strategiom łagodzenia skutków.
- Niezawodność: Zdolność systemu do odzyskania sprawności po zakłóceniach w infrastrukturze lub usługach, dynamicznego pozyskiwania zasobów obliczeniowych w celu zaspokojenia zapotrzebowania oraz łagodzenia zakłóceń, takich jak błędne konfiguracje lub przejściowe problemy z siecią.
- Efektywność wydajności: zdolność do efektywnego wykorzystania zasobów obliczeniowych w celu spełnienia wymagań systemowych i utrzymania tej wydajności w miarę zmian wymagań i ewolucji technologii.
- Optymalizacja kosztów: zdolność uruchamiania systemów w celu dostarczania wartości biznesowej w najniższej cenie.
WP Engine przestrzega standardowych praktyk branżowych, które są zgodne z tymi filarami.
Chcesz dowiedzieć się więcej o ruchu w Twojej witrynie? Kliknij tutaj, aby dowiedzieć się więcej o planach WP Engine i korzyściach, jakie widzą klienci, korzystając z naszej zarządzanej platformy hostingowej WordPress.