Poradnik KROK PO KROKU, który powoli gruntownie przetestować każdy hosting. Testujemy: PHP, MySQL, DNS, dysk, łącze internetowe, wydajność pod obciążeniem i prędkość działania samej strony WWW.
Spis treściJak wykorzystać okres testowy oferowany przez niektóre firmy do dokładnego sprawdzenia hostingu? W tym poradniku pokażę jak każdy może za pomocą kilku prostych poleceń, skryptów czy narzędzi, sprawdzić jak wydajny jest dowolny hosting.
Pokażę Ci jak sprawdzić:
- Szybkość (przepustowość) łącza internetowego hostingu
- Wydajność i szybkość dysków na serwerze
- Szybkość serwerów DNS
- Wydajność PHP i MySQL (oraz WordPressa)
- Wydajność hostingu w pracy pod obciążeniem
- Szybkość ładowania stron na hostingu
Oczywiście nie musisz wykonywać każdego z opisanych tu przeze mnie testów, aby przekonać się, że dany hosting jest OK. Chce pokazać Ci jednak w jaki sposób możesz sprawdzić różne aspekty wydajności hostingu. To co, zaczynamy?
Uwaga: Jeśli chcesz szybko uzyskać wiarygodne wyniki porównania hostingu i nie masz czasu na wykonywanie wszystkich testów, przeczytaj tylko sekcję „Jak PRAWIDŁOWO testować hosting?” i wykonaj test nr 5 (Test wydajności hostingu pod obciążeniem). To wystarczy w większości przypadków do porównania wydajności i szybkości działania hostingów, bez wgłębiania się w szczegóły i wykonywania dokładniejszych testów.
Jak NIE testować szybkości i wydajności hostingu?
Przede wszystkim chciałbym zacząć od tego, w jaki sposób nie należy sprawdzać, czy dany hosting jest szybki i wydajny. Są to 4 podstawowe błędy w testowaniu i porównywaniu hostingów, które najczęściej spotykam w różnych internetowych testach, rankingach czy porównaniach. Warto na nie uważać.
1. Nie testuj strony internetowej hostingu
Strona internetowa dostawcy hostingu nie jest zbyt dobrym miejscem na sprawdzanie, za pomocą zewnętrznych narzędzi tego, jak dobrze działa dany hosting. To trochę tak, jakbyś chciał oceniać warunki pracy w danej firmie po wysokości zarobków prezesa.
Strona główna z ofertą hostingu jest wizytówką firmy, więc często jest bardzo dobrze zoptymalizowana i „dopieszczona” a jej szybkość ma się nijak do wydajności całego hostingu.
Poza tym strona hostingu, która jest wizytówką firmy, często jest uruchomiona na zupełnie innym serwerze, niż konta hostingowe otwierane klientom firmy. Najczęściej dużo mocniejszym i dużo bardziej wydajnym, w porównaniu do hostingów klienckich kosztujących kilkuset złotych rocznie.
Serwer, na którym uruchomiona jest strona hostingu, nie ma takich limitów i ograniczeń, jak będzie miało Twoje konto hostingowe po zdecydowaniu się na usługi danej firmy.
Ponadto strona hostingu może korzystać z zewnętrznych usług CDN, które sprawiają, że serwowana jest ona nie z serwera dostawcy hostingu, ale z kopii strony przechowywanej u dostawcy usługi CDN, takiej jak Cloudflare.
2. Nie mierz szybkości hostingu ocenami w Google PageSpeed Insights
PageSpeed Insights to świetne narzędzie, ale aby go z sukcesami używać, trzeba wiedzieć, do czego służy i umieć interpretować przedstawiane przez nie dane.
Ocena punktowa w skali 0-100 czy nawet metryki Core Web Vitals pokazują głównie to, jak dobrze zoptymalizowana jest zawartość strony internetowej (kod HTML, CSS, JavaScript, obrazki), a nie to, jak dobrze i wydajnie działa serwer.
Oczywiście, w PageSpeed Insights znajdziesz oprócz ocen punktowych także wartości „czasowe”, które pokazują na danych laboratoryjnych czy zgromadzonych od odwiedzających stronę, jak szybko dana strona się może ładować końcowemu użytkownikowi, ale wydajność serwera jest tam tylko jedną z wielu różnych zmiennych, które w dodatku zmieniają się z każdym kolejnym wykonanym testem.
W ostatnim opisanym w tym poradniku teście (Test 6: Szybkość testowej strony), pokażę jednak, jak można za pomocą Google PageSpeed Insights spróbować oszacować wydajność hostingu. Nie patrząc na oceny punktowe!
3. Nie sprawdzaj szybkości hostingu na swoim urządzeniu
To, że jakaś strona szybko się ładuje na Twoim komputerze czy smartfonie, nie znaczy wcale, że tak samo jest u wszystkich.
Jeśli odwiedzaliśmy wcześniej kiedykolwiek daną stronę, to bardzo prawdopodobne, że na naszym urządzeniu znajduje się cache, czyli kopia części lub całości zawartości danej strony internetowej. Efekt jest taki, że odwiedzając stronę ponownie, jej cześć zostanie pobrana z naszego dysku, a nie z hostingu, który chcemy przetestować.
Kolejną sprawą jest kwestia łącza internetowego. To jak dobry mamy Internet, rzutuje na to, jak szybko dana strona się załaduje. I nie mam tu na myśli wyłącznie prędkości pobierania czy wysyłania danych (download/upload), ale także opóźnienia, ping itd.
Jeszcze jedną sprawą, o której muszę Ci napisać, jest kwestia samego urządzenia (telefonu, komputera, tabletu), na którym chcesz sprawdzić, „czy strona szybko się ładuje”. Im bardziej wydajne urządzenie (procesor, pamięć RAM, dysk), tym strona może załadować się szybciej. Dzieje się tak dlatego, że jedną kwestą jest szybkość samego serwera, który odpowiada na Twoją prośbę dostarczenia strony, a zupełnie inną sprawą jest kwestia wyrenderowania tej strony (przetworzenia kodów HTML, stylów CSS czy skryptów Javascript), na to, co widzisz na Twoim urządzeniu.
Oczywiście, odpowiednio przeprowadzony test na Twoim własnym urządzeniu może być w pewnych sytuacjach pomocny. Nie powinien być on jednak sam w sobie wyznacznikiem, tego, jak dobrze działa hosting.
4. Nie mierz wydajności hostingu stoperem czy „na oko”
Ostatnią rzeczą, przed którą chcę Cię przestrzec przy testowaniu prędkości hostingu, jest sprawdzanie czegokolwiek „na oko”. Jeśli planujesz wyciągać wnioski o tym, czy hosting działa szybko, na podstawie sprawdzenia ze stoperem w ręku jak szybko strona się załaduje, to nie jest to najlepsze rozwiązanie. W przypadku testów wydajności często liczą się nie tyle sekundy, ile milisekundy.
Jest wiele narzędzia, skryptów czy poleceń, które pozwalają w dokładny i miarodajny sposób sprawdzić, jak działa dany hosting (dalej Ci je pokażę), ale stoper na Twoim telefonie do nich nie należy :-).
Jak PRAWIDŁOWO testować hosting?
Aby zacząć cokolwiek sprawdzać, czy testować, musimy po pierwsze, wiedzieć CO dokładnie chcemy przetestować, a po drugie JAK chcemy to przetestować.
Pisałem wcześniej o tym, że sprawdzanie tego, jak szybko strona się ładuje, nie jest najlepszym pomysłem na rzetelne sprawdzenie hostingu. I to niezależnie od tego, czy zrobimy to ze stoperem w ręku na własnym komputerze, czy za pomocą niektórych narzędzi. Jak zatem zrobić to dobrze?
Przede wszystkim musimy przygotować środowisko testowe. O ile niektóre z testów przeprowadzimy bez żadnych większych przygotowań (np. szybkość dysku czy łącza internetowego), o tyle w innych przypadkach potrzebowali będziemy testowej strony internetowej.
Jak takową stworzyć? Najprostszym rozwiązaniem będzie uruchomienie testowego bloga czy stronę na WordPressie. Ważne jednak, aby:
- WordPress był w dokładnie tej samej wersji na testowanych hostingach
- Wszystkie zainstalowane wtyczki i motywy były identyczne (warto użyć tych, których będzie się używało)
- Treści na stronie były takie same (można użyć testowych danych, aby wypełnić stronę treścią)
Poza odpowiednim przygotowaniem testowej strony i uruchomieniem jej na testowanych hostingach musisz też pamiętać, aby upewnić się, że hostingi korzystają PHP w tej samej wersji (np. PHP 8). Możesz to zrobić za pomocą pliku phpinfo lub w WordPressie wchodząc na: http://adrestestowejstrony.pl/wp-admin/site-health.php?tab=debug i rozwijając zakładkę Serwer:
Obecnie większość hostingów umożliwia samodzielną zmianę i ustawienie wersji PHP w panelu zarządzania hostingiem. Tylko przy takiej samej wersji, wyniki będą miarodajne.
Oczywiście zamiast WordPressa, możesz użyć dowolnego innego CMS-a czy skryptu, który później będzie używany na hostingu (Prestashop, Magento itd.).
Spełniając te warunki, możesz spodziewać się, że wyniki testów z dwóch lub więcej hostingów, będą miarodajne i można wyciągnąć z nich wnioski na temat tego, który z nich okazał się lepszy, szybszy i bardziej wydajny.
Pamiętaj też, aby każdy test wykonać po kilka razy – w różne dni, o różnych porach. Hostingi są współdzielone, więc obciążenie maszyn, na których są uruchomione, jest różne o różnych porach. Tylko wiele testów i wyciągnięcie średniej, pozwala na oszacowanie tego, jak hosting będzie się spisywał na co dzień.
A kiedy testować hosting? Najlepiej zrobić to w internetowych godzinach szczytu, czyli w godzinach 19-21 i w weekendy. Choć dobrze z ciekawości sprawdzić jak zachowuje się nasz hosting o różnych godzinach.
No dobra. Wiemy już co i jak będziemy testować. Najwyższy czas przejść do właściwych testów hostingu.
Uwaga! Do części z testów będziesz potrzebować dostępu do linii poleceń (SSH). SSH to bardzo przydatna opcja na hostingu, która przyda Ci się nie tylko podczas testów, ale w różnych innych sytuacjach. Jeśli hosting nie daje możliwości korzystania z SSH, to może warto rozważyć rezygnację z jego usług?
Test 1: SpeedTest – szybkość (przepustowość) łącza hostingu
Przy pomocy znanego wszystkim narzędzia Speedtest.net, sprawdzimy szybkość łącza internetowego na naszym koncie hostingowym. Zasada jest prosta: im szybciej, tym lepiej.
Ale jak to zrobić? Będziemy do tego potrzebowali narzędzia Speedtest w wersji CLI (czyli uruchamianego z linii poleceń).
- Logujemy się do hostingu poprzez SSH (instrukcja w j. angielskim)
-
Pobieramy Speedtest CLI poniższym poleceniem:
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli
-
Uruchamiamy test szybkości łącza
python speedtest-cli --share
Koniec. W wyniku otrzymujemy trzy wartości:
- Ping
- Download (prędkość pobierania danych z zewnątrz na hosting)
- Upload (prędkość wysyłania danych przez hosting na zewnątrz)
To ważne, aby zrozumieć, że wartości download/upload są podawane dla hostingu, a nie dla nas. Co za tym idzie – prędkość pobierania danych z hostingu przez nas czy odwiedzających naszą stronę WWW to upload.
Dzięki dodaniu parametru --share
do ostatniego polecenia dostajemy także link (Share results), który możemy skopiować do przeglądarki, aby uzyskać poniższy obrazek z podsumowaniem testu:
Wyniki tego testu mogą być bardzo różne, nawet przeprowadzając kilka testów zaraz po sobie. W końcu – na hostingu współdzielonym, współdzielimy zazwyczaj to łącze internetowe z innymi klientami. Aby dobrze sprawdzić hosting, warto wykonywać ten test wielokrotnie i o różnych porach, aby móc uśrednić wyniki.
Test 2: Wydajność i szybkość dysku
Kolejnym testem, który warto mieć w swoim arsenale, jest test szybkości działania dysku. Posłuży nam do tego program dd, który domyślnie zainstalowany powinien być na wszystkich serwerach opartych o systemy Linux.
- Logujemy się do hostingu poprzez SSH
-
Uruchamiamy test poleceniem:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
W odpowiedzi po chwili powinniśmy otrzymać czas wykonywania naszego polecenia (mniej = lepiej) oraz szybkość zapisu plików na dysku w MB/s (więcej = lepiej):
Nie jest to test idealny i nie sprawdza wszystkich parametrów wydajności dysku, ale jest dostępny bez żadnych instalacji i pozwoli Ci porównać wydajność dysku na jednym hostingu z innym hostingiem.
Test 3: Szybkość serwerów DNS na hostingu
DNS to taka internetowa książka adresowa, której zadaniem jest przetłumaczenie komputerowi nazw domen (np. google.pl) na adresy IP serwerów, na których te strony są umieszczone. DNS jest nieodłącznym elementem każdego hostingu, a wpisanie w przeglądarkę adresu naszej strony powoduje, że wykonywane jest zapytanie do serwera DNS.
Wniosek z tego taki: DNS powinien być jak najszybszy, bo im jest szybszy, tym szybciej będzie ładowała się strona.
I choć czas zapytania do DNS liczony jest zazwyczaj w milisekundach, to warto mimo wszystko sprawdzić jak radzi sobie nasz hosting w tej kwestii. Skorzystamy więc z narzędzia DNS Speed Benchmark, które zbada czas odpowiedzi serwerów DNS na naszym hostingu z różnych lokalizacji.
Aby to zrobić, wystarczy, że wejdziesz na stronę testu, podasz adres domeny (może być domena techniczną przydzielona Ci przez hosting w stylu: nazwakonta.twojhosting.pl) i wybierzesz, skąd ma być wykonywany test (cały Świat, konkretny kontynent czy kraj).
Tak wyglądają wyniki dla jednego z hostingów z całej Europy:
Jeśli jednak w planach mamy uruchomienie strony głównie dla użytkowników z Polski, sprawdźmy Polskę. Pod mapą znajdziesz też tabelę ze szczegółami:
Im mniejsze wartości, tym szybciej, a co za tym idzie lepiej.
Test 4: Wydajność PHP i bazy danych MySQL
Aby przetestować wydajność hostingu w wykonywaniu skryptów PHP i obsłudze bazy danych MySQL zaproponuję kilka narzędzi (do wyboru).
Wydajność skryptów PHP
Skrypt PHP benchmark Script testuje wydajność hostingu w wykonywaniu operacji matematycznych z wykorzystaniem języka PHP. Pobieramy z podlinkowanej strony, rozpakowujemy i wrzucamy plik bench.php na nasz serwer do folderu ze stroną (np. public_html).
Potem zostaje nam jedynie odpalenie skryptu, wchodząc w przeglądarce pod adres, na którym znajduje się plik i zapoznanie się z wynikami:
Patrzymy na „Total time”, który powinien być jak najmniejszy.
Wydajność PHP i bazy danych MySQL
Skrypt Benchmark PHP w porównaniu do swojego poprzednika testuje zarówno wydajność skryptów PHP na hostingu, jak i wydajność bazy danych MySQL. Jeśli chcesz więc przetestować obie rzeczy – korzystaj z tego rozwiązania.
Zasada działania jest podobna. Pobierasz stąd paczkę ze skryptem i rozpakowujesz ją. Jednak przed wrzuceniem pliku benchmark.php na serwer, otwierasz plik w edytorze tekstu i w treści skryptu wstawiasz dane do połączenia z bazą danych (najpierw musisz ją stworzyć np. poprzez panel zarządzania hostingiem):
Po uzupełnieniu danych zapisujesz plik i wrzucasz go gdzieś na swoją stronę, a następnie uruchamiasz w swojej przeglądarce adres, pod którym znajduje się plik. Jako wynik zobaczysz coś takiego:
Najważniejsze parametry, na które musisz patrzeć to Calculation total w sekcji Benchmark, który ocenia szybkość wykonywania zadań w PHP (mniej = szybciej = lepiej) i Total w sekcji MySQL, który określa szybkość zapytań do bazy danych (mniej = szybciej = lepiej).
Wydajność PHP i MySQL w WordPressie
Ostatnim sposobem jest instalacja i włączenie wtyczki WPPerformanceTester do WordPress, która sprawdzi jak radzi sobie hosting w obsłudze poleceń PHP i zapytań do MySQL w kontekście bazy danych WordPressa.
Pobieramy wtyczkę, instalujemy i aktywujemy, a po aktywowaniu udajemy się do Narzędzia -> WP Performance Tester. Po kliknięciu na „Begin Performance Test” musimy poczekać kilka sekund, aby przekonać się, jak prezentują się wyniki wydajności testowanego hostingu.
Pierwsza część (Server Performance Benchmarks) pokazuje czas wykonywania testowych zadań (mniej = szybciej = lepiej):
Natomiast druga część wyników, pokazuje wyniki operacji związanych typowo z WordPressem. Tutaj wartość Execution Time (seconds) pokazująca czas wykonywania zadań, powinna być jak najmniejsza, a Queries Per Second – jak największa:
Test 5: Test wydajności hostingu pod obciążeniem
Ten test będzie pierwszym realnym sprawdzianem, pokazującym jak radzi sobie testowany hosting pod obciążeniem. Test wydajności serwera przeprowadzimy za pomocą narzędzia online Loader.io, którego możemy użyć za darmo w ograniczonym – ale wystarczającym na potrzeby prostych testów hostingu – zakresie.
Do tego testu będziemy potrzebować jakiejś strony testowej, którą uruchomimy na serwerze. Najlepszym rozwiązaniem będzie WordPress, który korzysta zarówno z PHP, jak i MySQL, więc przetestujemy całe środowisko na hostingu. O tym, jak przygotować taką stronę testową pisałem wcześniej w sekcji „Jak PRAWIDŁOWO testować hosting?”.
Jak przygotować test?
- Rejestrujemy się na stronie Loader.io i potwierdzamy adres e-mail
- Podajemy domenę (subdomenę) testowanej strony
W wielu hostingach otrzymamy bezpłatnie adres w stylu: naszanazwa.adreshostingu.pl
- Pobieramy plik weryfikacyjny i umieszczamy ona naszym hostingu.
W ten sposób sprawdzane jest, czy jesteśmy właścicielami danej strony i nie chcemy wykorzystać narzędzia w niecnych celach 🙂
- Tworzymy nowy test
W pierwszej części formularza ustawiamy:
- Nazwę testu (np. „Test WordPressa na hostingu X”)
- Typ testu (najlepszym będzie „Maintain client load”, który symuluje przyrost odwiedzających stronę z każdą sekundą)
- Ilość połączeń do hostingu „od” i „do” (proponuję: od 0 do 1000 połączeń)
- Czas trwania testu (w darmowym pakiecie mamy ograniczenie do max. 1 minuty, więc tyle ustawiamy)
Co więc sprawdzi ten test? Jaki będzie zachowywał się testowany hosting przy wzroście od zera do 1000 użytkowników jednocześnie odwiedzających stronę. Jaki będzie czas odpowiedzi hostingu?
W dalszej części („Client Requests”) nie musimy nic zmieniać, chyba że chcemy podać dokładny adres testowanego WordPressa (np. podkatalog) albo testować zapytania do konkretnego wpisu zamiast strony głównej – wtedy podajemy jego dokładny adres.
Test możemy uruchomić od razu, zapisać na później, albo zaplanować jego przeprowadzenie na przyszłość (jednorazowo lub cyklicznie).
Po uruchomieniu testu możemy na żywo obserwować, jak przebiega test, aby na końcu uzyskać kompletny raport, wraz z wykresem.
Co w nim widzimy? Przede wszystkim w tym przykładzie, test został przerwany, gdy ponad 50% wszystkich odwiedzających zaczęła otrzymywać błędy (strona lądowała się ponad 10 sekund).
Na wykresie sobaczymy też, że wraz z przyrostem użytkowników, strona ładowała się coraz dłużej, aby przy 400 jednoczesnych użytkownikach na stronie w 23-24 sekundzie, osiągnąć wspomniane maksymalne 10 sekund ładowania.
Jak możemy wykorzystać te informacje do porównania hostingów? Po przeprowadzeniu podobnych testów na takiej samej stronie www, uruchomionej na 2 różnych hostingach, możemy:
- porównać ile maksymalnie dany hosting obsłuży jednocześnie użytkowników na stronie, nim czas odpowiedzi osiągnie 10 sekund,
- sprawdzić jaki jest średni czas odpowiedzi hostingu przy np. 20, 50 czy 100 połączeniach na sekundę
Im bardziej wydajny hosting (szybszy procesor, dysk, RAM, łącze itd.) i wyżej ustawione ewentualne limity, tym hosting powinien obsłużyć więcej osób na stronie jednocześnie, w krótszym czasie.
Przy okazji: Bardziej zaawansowani użytkownicy mogą wykonać taki test samodzielnie, bez korzystania z Loader.io. Służy do tego ApacheBench (Apache HTTP server benchmarking tool), uruchamiany poleceniem ab. Wymaga on jednak osobnego serwera lub komputera, z którego wykonywane będą testy (np. VPS-a), dysponującego dobrym łączem internetowym i możliwości instalacji narzędzia ab, czego nie oferują w większości hostingi współdzielone.
Test 6: Szybkość testowej strony
Ostatni test hostingu, który chciałbym Ci zaproponować w tym poradniku, to test z wykorzystaniem narzędzi do testowania szybkości, wydajności i optymalizacji stron internetowych. Wyniki testu nie będą często tak jednoznaczne i dokładne jak w poprzednim teście, ale jest to w miarę prosty sposób na przetestowanie wydajności hostingu.
O jakich narzędziach mówię?
Zanim jednak weźmiesz się za testowanie szybkości działania hostingu tymi narzędziami, ważne zastrzeżenia:
- Przy korzystaniu z tych narzędzi bardzo ważne jest, aby testowana strona na hostingu była dokładnie taka sama. Więcej o tym pisałem w sekcji „Jak PRAWIDŁOWO testować hosting?”
- Większość z tych narzędzi pozwala określić lokalizację, z której wykonywany jest test. Postaraj się wybrać lokalizację najbliższą większości odwiedzających Twoją stronę, którą później na hostingu umieścisz. A później przy testach innych hostingów, upewniaj się, że są one wykonywane z tego samego miejsca.
- Jako że testy sprawdzają czas ładowania strony w testowym środowisku, a nie sam czas reakcji po stronie serwera, ważne jest, aby testy tymi narzędziami były wykonywane wielokrotnie. Wyniki między pojedynczymi sprawdzeniami tej samej strony mogą się bardzo różnić.
Na jakie parametry patrzeć wykonując testy?
W WebPageTest, który w domyślnym ustawieniu wykonuje od razu 3 testy szybkości strony, warto patrzeć przede wszystkim na parametry Load Time i First Byte, które pokazywane są w tabeli na stronie z wynikami:
Sprawdzając testową stronę narzędziem Pingdom Website Speed Test, najważniejszym parametrem jest load time, czyli czas ładowania strony:
W GTmetrix, w którym warto założyć konto, aby móc wykonywać testy z innego miejsca niż Vancouver, Canada, najistotniejszą wartością będzie Fully Loaded Time:
Narzędzie od Google, czyli PageSpeed Insights, pokazuje wiele różnych parametrów, ale w kontekście warto zwrócić uwagę na dwa z nich: Indeks szybkości i TTFB („time to first byte”), który może być schowany na dole w sekcji „Zaliczone audyty”:
Zobacz też: Test szybkości ładowania strony WWW: 5 narzędzi
I to na tyle w tym poradniku. Mam nadzieję, że dzięki tym testom uda Ci się dobrze wykorzystać 7, 14 czy 30-dniowy okres, który firmy hostingowe oferują na bezpłatne testy, czy jako gwarancję zwrotu pieniędzy. No i liczę na to, że dzięki tym testom wybierzesz najlepszych hosting dla Twoich internetowych przedsięwzięć. Powodzenia! 🙂