W tym krótkim wpisie spróbuję bardzo prosto odpowiedzieć na pytanie po co hostingowi mocny procesor i czy warto zwracać uwagę na CPU w różnych pakietach hostingu WWW. Artykuł będzie dla ciebie przydatny jeżeli szukasz hostingu WWW lub borykasz się z problemami dotyczącymi wydajności.
Zauważ, że informacje o procesorze w ofertach hostingu są mało precyzyjne. Jeżeli już informuje się nas o jakichkolwiek parametrach dotyczących CPU to zazwyczaj są to oznaczenia własne dostawcy lub ilość rdzeni. Z drugiej strony podanie mocy jaka jest nam faktycznie przydzielana jest problematyczna z wielu powodów. Po pierwsze: moc procesora jest współdzielona pomiędzy wieloma użytkownikami i ich serwisami. Po drugie: moc / czas procesora nie jest rozdzielany sprawiedliwie i fachowo określa się, że działa w tzw. trybie „best-effort”. Oznacza to mniej-więcej tyle, że w danym momencie jest nam przydzielana taka część procesora jaka nam pozostała. W dużo lepszej sytuacji są właściciele serwerów VPS i dedykowanych. Tam faktycznie mamy odizolowane zasoby i informacje o procesorze są bardziej przydatne.
Jak sprawdzić moc obliczeniową hostingu WWW?
Najlepszym sposobem jest zignorowanie parametrów, które podaje dostawca i wykonać własne testy. O tym jak testować hostingi WWW pisałem w artykule testowanie hostingu. Jest tam, krótka teoria i praktyka jak przetestować najważniejsze elementy usługi hostingowej.
Czy takie testy są miarodajne? Żaden test nie jest w stanie oddać praktycznych przypadków użycia. Niektóre procesory będą szybciej wykonywać obliczenia a inne lepiej poradzą sobie w przypadku uczenia maszynowego i wizualizacji danych. Jednak nawet w społeczności geeków i graczy komputerowych moc procesorów czy kart graficznych mierzone są przeróżnymi benchmarkami. Wyniki z takich programów jak 3DMark, Cinebench czy GeekBench są wymiernym i adekwatnym wskaźnikiem, który informuje o wydajności danych podzespołów. To na ich podstawie można porównać dwie różne konfiguracje i rozstrzygnąć, która jest obiektywnie lepsza jeżeli jedynym kryterium jest moc obliczeniowa. Każda recenzja zestawu komputerowego, procesora czy karty graficznej nie obejdzie się bez wspomnienia o tych jakże ważnych cyferkach – na czymś w końcu trzeba się oprzeć.
Jak procesor wpływa na wydajność hostingu i utrzymywanych stron internetowych?
Jak pamiętamy z lekcji informatyki „procesor to mózg/serce komputera”. Każdą operację (zarówno prostą jak i skomplikowaną) jaką wykonuje komputer można wykonać w różnym czasie a zależy to głównie od mocy procesora. Hosting stron statycznych nie należy do szczególnie wymagających zadań, warto jednak pamiętać, że coraz rzadziej właściciele stron utrzymują strony statyczne. W najprostszych CMSach, które pobierają treść z bazy danych (bez mechanizmu cache) można odczuć wpływ mocy procesora na TTFB.
W popularnych CMSach typu WordPress, w którym działa wiele wtyczek jeżeli nie wykorzystamy mechanizmu cache, wpływ na działanie strony i opóźnienia TTFB jest niemal odwrotnie proporcjonalny a zależność jest liniowa. Problem polega na tym, że cache po stronie serwera, który ratuje proste blogi w takich sytuacjach nie zawsze może funkcjonować. Cache zazwyczaj nie działa w sklepach internetowych (z koszykiem) i w panelach administracyjnych. Niska wydajność procesora objawia się tym, że:
- wolno działają panele klienta i zarządzanie stroną,
- wolno działa logowanie i proces zamawiania w sklepie internetowym,
- wolno działają działania optymalizacyjne, czyszczenie bazy danych lub masowe przetwarzanie grafiki.
Szybki dysk SSD, wymyślne mechanizmy Cache nie pomogą procesorowi w wykonaniu stu zapytań SELECT/UPDATE w bazie danych i nie wspomogą go w skalowaniu zdjęć, które ma miejsce przy tworzeniu treści.
Czy wszyscy potrzebują serwera z mocnym procesorem?
Ktoś może zapytać po co mu duża moc obliczeniowa, skoro hosting zajmuje się banalną usługą np. serwuje blog lub mały sklep internetowy? To od mocy procesora zależy szybkość działania panelu administracyjnego czy czas jaki mija od kliknięcia przycisku „Kup Teraz” do wyświetlenia się koszyka i dalszych etapów związanych z zamówieniem. Wszelkie operacje związane z obliczeniami jak skalowanie zdjęć, operacje w bazie danych są wykonywane w czasie odwrotnie proporcjonalnym do wydajności procesora. Prosta strona z mało skomplikowanym blogiem lub strona firmowa nie potrzebuje dużo mocy obliczeniowej.
Pod kątem skalowania i rozwijania większych serwisów warto mieć na uwadze, że zadań procesora serwera HTTP nie można „wydelegować” do innego serwera lub usługi zewnętrznej. Mały dysk SSD można wesprzeć usługą pamięci masowej (np. Google Cloud Storage, Amazon S3). Pamięć RAM rzadko ma wpływ na wydajność a konsumujące ją bazy danych też można bez problemu wydelegować do skalowalnych rozwiązań typu Google Cloud SQL lub Amazon RDS. Znaczenie wydajności procesora w serwerze HTTP ma więc fundamentalne znaczenie i wpływa na wydajność każdego aspektu działania hostingu uruchomionego na tym serwerze jeżeli zależy nam na szybkim działaniu.
Jak duże są różnice mocy CPU w różnych ofertach hostingu WWW?
Różnice pomiędzy różnymi hostingami WWW są znaczące. Do porównania hostingów posłużę się popularnym, darmowym i ogólnodostępnym skryptem bench.php, który wykonuje różnego rodzaju operacje matematyczne, przypisania i pętle. Im niższy czas w sekundach tym lepiej. Jeżeli bench.php wykonuje się szybciej na danym hostingu, można przypuszczać, że wszystkie inne operacje polegające na skryptach PHP też się będą wykonywać szybciej.
Czasy wykonywania się skryptu bench.php
Zwróć uwagę na nazwy pakietów. Ceny usług są bardzo zróżnicowane i nie są miarodajne do porównywania marek hostingowych. Test dotyczy wersji PHP wyższych niż 7.3. Testy wykonywano w roku 2021. Jest to średnia z ok. 5 testów wykonywanych w odstępie kilku sekund. Im niższy czas tym lepiej.
nazwa.pl – Hosting Cloud Business: 0.437
home.pl – Business Cloud Starter: 1.031
home.pl – WordPress SSD Profesjonalny: 1.996
kru.pl – Cloud Start : 1.279
OVH – Performance 1: 1.079
SiteGround – GoGeek: 0.933
DreamHost – DreamPress: 1.619
RaidBoxes – Starter: 0.7187
jdm. – 10K: 0.716
jdm. – 40K: 0.744
Google Cloud – Compute Engine e2 highcpu 8: 1.042
AWS – Lightsail 1vCPU: 0.916
cyber_Folks – wp_GO: 0.829
MyDevil – MD3: – 2.201
Lista będzie od czasu do czasu aktualizowana.
Podsumowanie
Prosta sztuczka jaką jest mechanizm pamięci podręcznej stron internetowych jest w stanie zamaskować niską wydajność obliczeniową serwera. Po prostu wynik działania CMSa i wtyczek jest zapisywany do pamięci podręcznej w postaci zwykłego tekstu i przy każdej wizycie proces generowania kodu HTML nie musi być powtarzany. Mechanizm ten działa na prostych stronach z ofertą oraz na blogach, które bez problemu mogłyby być zamienione na postać statycznej strony internetowej. Warto pamiętać o tym, że cache nie przyspieszy działania panelu administracyjnego i nie spowoduje szybszego działania koszyka czy procesu zamawiania w sklepie internetowym. Nadmierna ekspozycja mechanizmów cache (LSCache, Redis) w ofertach hostingu WWW powinny tak naprawdę zwiększyć naszą czujność a nie być traktowane jako zaleta prezentowanej nam oferty.
Jakość usług hostingu stron internetowych uległa w ostatnim czasie dość wielkiemu pogorszeniu. Dowodem na to może być fakt, że obecnie z mechanizmów cache trzeba korzystać niemal przymusowo a jeszcze kilka lat temu był to dodatek który przyspieszał już i tak sprawnie działające strony internetowe. Przestrzeń na dane, cudowne firewalle czy ilość kont e-mail to sprawa drugorzędna. Pamiętaj że procesor – także w przypadku usług hostingowych to podstawa.
Odpowiedz lub skomentuj