LH.pl · Dział pomocy
To jedno z częściej zadawanych nam pytań. W szczególności tematem tym interesują się właściciele stron, które cieszą się dużą popularnością. Niestety, nie ma na nie jednoznacznej odpowiedzi. A właściwie, to jest – to zależy. Zastanówmy się więc – od czego zależy?
Pokażę dziś przykład naszego Klienta, którego strona wygenerowała bardzo duży ruch w krótkim czasie na hostingu współdzielonym. Jego prawdziwie fantastyczny serwer z łatwością to wytrzymał i był gotowy na więcej.
Kiedy mówimy o dużym ruchu na stronie internetowej?
Jeżeli chcecie zobaczyć, czym jest naprawdę duży ruch, to zapraszamy do Poznania w trakcie trwania Festiwalu Fantastyki Pyrkon. To, co dzieje się wówczas w okolicach Międzynarodowych Targów Poznańskich, to prawdziwe oblężenie, gdyż nagle do miasta przyjeżdża kilkadziesiąt tysięcy osób.
To samo dzieje się ze stroną internetową festiwalu. Jeden uczestnik może wygenerować bardzo wiele wejść: będzie sprawdzał, jak dotrzeć na wybrany punkt programu, poszuka opisu konkursu, w którym chce wziąć udział lub będzie chciał odszukać informacji o której godzinie otwierany jest sleeproom. Gdy w tym samym czasie zacznie robić to więcej osób, serwer ulegnie zwiększonemu obciążeniu. Im więcej osób jednocześnie wykonuje te operacje, tym więcej danych ma serwer do przetworzenia.
Natomiast jeżeli nigdy nie mieliście okazji odwiedzać Poznania podczas Pyrkonu, zdefiniujmy sobie duży ruch na stronie WWW.
W zrozumieniu tego pojęcia nie pomogą nam jednak same cyfry. Z pewnością wielu z Was korzysta z narzędzi analitycznych Googla – Google Analytics. W GA możecie sprawdzić informację dotyczącą aktualnej liczby użytkowników na stronie. Czy to wystarczy? Zdecydowanie nie.
Aby mieć pełen obraz ruchu na stronie, musimy także wiedzieć, jakie działania wykonują na niej użytkownicy. Czy jest to portal ogłoszeniowy z wyszukiwarką? Czy może sklep internetowy, w którym klienci dodają produkty do koszyków? może blog, na którym użytkownicy tylko czytają artykuły? W każdym z typów stron internetowych ten sam ruch będzie generował nieco inne obciążenie serwera, gdyż użytkownicy będą wykonywać inne operacje.
Warto także pochylić się nad oprogramowaniem strony internetowej. Czy mowa o WordPressie, PrestaShop, a może sklepie opartym o Magento? Każdy z CMSów przetwarza dane w nieco inny sposób, co przekłada się na zróżnicowanie generowanego obciążenia serwera.
Szukasz hostingu, który udźwignie duży ruch na Twojej stronie? Sprawdź LH.pl i śpij spokojnie.
Case study pyrkon.pl – jak duży ruch wygenerowała strona?
Strona festiwalu Pyrkon zbudowana jest w oparciu o popularny CMS WordPress.O statystyki odwiedzin zapytałam Jakuba Orłowskiego, Brand Managera Festiwalu Pyrkon.
W okresie od 28 marca do 28 kwietnia, 174 783 użytkowników wygenerowało na niej 361 886 sesji i aż 1 213 288 odsłon. Ruch ten nie rozłożył się oczywiście równomiernie. Serwis odnotował największy ruch między 22, a 28 kwietnia. Stronę pyrkon.pl odwiedziło wtedy niemal 100 000 użytkowników. W szczycie popularności, 26 kwietnia, w ciągu 24 godzin stronę odwiedziło ponad 30 000 użytkowników.
A wszystko to na serwerze współdzielonym w LH.pl przy zachowaniu ciągłości działania i stuprocentowej dostępności usług. Jak to możliwe?
Po pierwsze, optymalizacja strony internetowej
O to, jakie działania optymalizacyjne zostały wdrożone na stronie zapytałam osobę odpowiedzialną za wdrożenie, Marcina Krzemińskiego.
Wtyczki
Przy tak dużym projekcie trzeba zadbać przede wszystkim o ograniczenie wtyczek do minimum i skupić się tylko na niezbędnych dodatkach. A i te należy najpierw przetestować i sprawdzić pod kątem wydajności i generowanego obciążenia. Na stronie pyrkon.pl działało niemal 20 wtyczek – były one wymagane do realizacji celów biznesowych, a część z nich odpowiadała za integrację dodatkowych usług zewnętrznych.
Wersja testowa strony i aktualizacje
Przerwy w działaniu strony wynikają nie tylko z powodu dużego ruchu, ale również ze względu na nieudane aktualizacje lub niekompatybilne funkcje, które autorzy stron próbują dodać bezpośrednio na “żywej” stronie. Jeśli planujemy dodać nowe funkcje lub wykonać aktualizacje WordPressa, należy najpierw sprawdzić ten proces na wersji testowej strony, a dopiero potem wykonać to “na żywo”. My do zarządzania aktualizacjami korzystamy z Git, wp-cli oraz dostępu do serwera przez SSH, ale każdy może wykonywać to na własny sposób.
Czysty kod to podstawa
Aby zagwarantować sobie najwyższą kompatybilność z nowymi wersjami WordPressa oraz dodatkowymi funkcjami i wtyczkami, które w nieokreślonej przyszłości możemy chcieć dodać, warto zadbać o czystość kodu już na etapie przygotowywania samego motywu witryny.
Fundamentem naszego motywu jest Underscores, czyli minimalistyczny, dobrze zoptymalizowany motyw startowy, na bazie którego można zakodować własny wygląd. Podczas pisania kodu CSS pomocny okazał się Sass, czyli tzw. preprocesor CSS, dzięki któremu możemy podczas pisania stylów CSS zachować lepszy porządek i uniknąć ich duplikowania, a następnie wszystko skompilować do standardowego formatu. Na etapie programowania strony wykorzystujemy także zestaw narzędzi Gulp + BrowserSync. Pozwala nam to od razu testować wyświetlanie motywu w kilku przeglądarkach jednocześnie bez konieczności odświeżania witryny po wprowadzeniu każdej zmiany w kodzie.
Pamięć podręczna to podstawa!
Nieodłączny element każdej strony internetowej – cache. Dzięki pamięci podręcznej nasza strona internetowa może ładować się z już uprzednio wygenerowanych treści statycznych, co w znacznym stopniu zmniejsza obciążenie serwera oraz dramatycznie przyspiesza wyświetlanie strony.
W repozytorium wtyczek WordPressa znajdziemy sporo pluginów do obsługi cache. W naszym wypadku wykorzystywana jest wtyczka W3 Total Cache, która podpieramy dodatkowo wtyczką Autoptimize, służącą do minifikacji kodu HTML, CSS i JS.
ZOBACZ RÓWNIEŻ
Jak przygotować się na duży ruch na stronie?
Co się dzieje ze stroną gdy wchodzi na nią 600 osób jednocześnie?
Po drugie, wydajny i mocny serwer
Maszyna, na której hostowana jest strona festiwalu, to serwer oparty w całości o szybsze dyski SSD – NVMe. Zastosowane zostały macierze CEPH Full NVMe, które są wielokrotnie szybsze niż klasyczne SSD. Macierz zbudowana jest w taki sposób, że każdy blok danych jest składowany jednocześnie na trzech dyskach, w trzech różnych serwerach macierzowych.
Serwer dla Pyrkonu oparty jest także o obecnie jedne z najbardziej wydajnych procesorów AMD EPYC. Maszyna wykorzystuje dwa procesory AMD EPYC 7451, z których każdy zbudowany jest z 24 rdzeni zdolnych do pracy nad 48 wątkami jednocześnie. Każdy z nich taktowany jest częstotliwością 2,3 GHz, a w chwili maksymalnego obciążenia wszystkie 24 rdzenie w takim procesorze działają na raz z częstotliwością 2,9 GHz. Przy chwilowym obciążeniu wymagającym dużej mocy obliczeniowej w jednym lub ledwie kilku wątkach, procesor przyspiesza do 3,2 GHz.
Im wyższa moc obliczeniowa, tym szybsze wykonywanie zadań, np. generowanie strony, obsługa zapytań do bazy danych, czy serwowanie plików statycznych.
Po trzecie, aktualne oprogramowanie
Na wydajność strony WWW na serwerze wpływa także zastosowane na niej oprogramowanie. Jeżeli strona korzysta z najnowszej wersji PHP 7.3, jest w stanie obsłużyć większą liczbę użytkowników korzystających z niej jednocześnie niż w przypadku wersji np. 5.6.
Wpływ na wydajność będą miały także aktualne wersje samego systemu CMS (np. WordPress, PrestaShop) oraz zastosowanych dodatków. Błędy w kodzie strony mogą powodować wolniejsze przetwarzanie danych i stanowić dodatkowe obciążenie dla serwera. Każdy dodatkowy problem ze stroną powoduje, że serwer otrzymuje coraz więcej zadań do wykonania, a co za tym idzie – zajmuje mu to więcej czasu.
Duży ruch na serwerze współdzielonym – to możliwe?
Jak sami widzicie – to zależy. Nie oznacza to jednak, że nie da się osiągnąć świetnych wyników na serwerze współdzielonym. Jest to jak najbardziej możliwe, aczkolwiek w takiej sytuacji trzeba zadbać o odpowiednią optymalizację strony, na bieżąco aktualizować swoją witrynę, i ograniczyć zbędne, obciążające stronę dodatki. Trzeba też korzystać ze sprawdzonej oferty hostingowej, udostępniającej odpowiednio mocny serwer współdzielony.
Wszystkie te działania przełożą się także na czas wyświetlania strony w internecie, co może jednocześnie ułatwić zdobywanie nowych odwiedzających.
Szukasz hostingu, który udźwignie duży ruch na Twojej stronie? Sprawdź LH.pl i śpij spokojnie. |
Podobał Ci się artykuł? Zostaw opinię!
3 komentarze
Możliwość komentowania została wyłączona.
Ile było PV/s w szczytowym momencie?
Maciej, doprecyzuj proszę. Co masz na myśli pisząc PV/s? Page visit, page view?
Mam na myśli page view.