Najlepszy hosting PHP dla stron WWW i aplikacji webowych: jak wybrać?

kursphp.com 2 lat temu

Programujesz w PHP? Kwestia serwera jest bardzo istotna dla działania Twoich stron i aplikacji. Czy hosting współdzielony może być dobrym środowiskiem dla aplikacji PHP? Tak – ale musisz zwrócić uwagę na kilka istotnych parametrów.

Skrypt PHP, wykorzystywany na stronach czy w aplikacjach internetowych, jest odczytywany przez interpreter PHP zainstalowany na serwerze. Dzięki temu możliwa jest obsługa dynamicznych stron i aplikacji, wyświetlających zawartość w czasie rzeczywistym.

Oczywiście wybór hostingu nie może opierać się wyłącznie na samej wersji interpretera PHP. Działanie aplikacji zależy także m.in. od zastosowanego dysku czy wykorzystywanych technologii. Zobacz, na jakie kwestie zwrócić uwagę, aby serwer sprostał oczekiwaniom programisty.

Wersja PHP na hostingu a wydajność

Od wydajności interpretera PHP na serwerze zależy szybkość działania strony czy aplikacji. Wydajność zależy m.in. od szybkości wykonywania działań matematycznych, obsługi ciągów znakowych lub instrukcji warunkowych czy też wykonywania pętli.

Każda z nowych wersji PHP oferuje ulepszenia w zakresie wydajności i bezpieczeństwa. Odchodzenie od rozwiązań wiążących się z ryzykiem zainfekowania strony lub aplikacji czy wprowadzanie łatek bezpieczeństwa – wszystko to sprawia, iż korzystanie z nowej wersji PHP jest podstawą dla bezpieczeństwa strony czy aplikacji.

Ulepszenia oferowane przez nowe generacje widać szczególnie w szybkości interpretera. Benchmarki nowych wersji PHP pokazują, iż różnice są znaczące.

Nowa generacja PHP – większa wydajność. (openbenchmarking.org)

Zresztą – możesz samodzielnie wykonać podobny test wydajności na serwerze dzięki Benchmark PHP.

Generacje PHP mają swoje cykle życia. Nowa wersja jest aktywnie wspierana przez mniej więcej 2 lata. Po tym czasie przez rok otrzymuje ona wyłącznie podstawowe łatki bezpieczeństwa. Następnie przestaje być wspierana. W związku z tym nie dość, iż jest wolniejsza – to jeszcze może mieć sporo luk bezpieczeństwa.

Cykl życia generacji PHP. (php.net)

Dlatego też – tak ważne jest to, aby serwer obsługiwał najnowsze generacje PHP. To jeden z pierwszych parametrów, na jaki trzeba zwrócić uwagę podczas wyboru serwera. Jednak oprócz tego, trzeba przyjrzeć się także innym elementom.

Dostępne zasoby i limity

Hosting polega na współdzieleniu zasobów serwera pomiędzy kilku klientów. W związku z tym na każdego z klientów nakładane są różnego rodzaju limity – które mają na celu zabezpieczyć przed sytuacją, w której poszczególne aplikacje zakłócałyby swoją pracę.

Podczas wyboru hostingu, jednym z pierwszych kroków powinno być przeanalizowanie limitów, jakie są nakładane przez dostawcę usług. Takie parametry to przede wszystkim:

  • przydział CPU i RAM – wprawdzie rzadko kiedy otrzymasz informację dotyczącą specyfikacji sprzętowej danego serwera, jednak możesz zapewnić sobie przynajmniej minimalny przydział procesora i pamięci operacyjnej. Dobrze aby było to minimum 1 GHz (lub 1 rdzeń) CPU oraz 1 GB RAM;
  • limity jednoczesnych procesów PHP – gdy jest on na zbyt niskim poziomie, zapytania kolejkują się, zamiast być wykonywane na bieżąco. W przypadku wymagających aplikacji, dobrze jest wybrać hosting bez takiego limitu, jednak choćby dla prostych stron powinno to być przynajmniej 10 jednoczesnych procesów;
  • limit jednoczesnych połączeń HTTP – gdy hosting nakłada takie ograniczenie, każdy nowy użytkownik na stronie (powyżej limitu) prowadzi do zerwania połączenia innego użytkownika. W związku z tym, taki limit nie powinien być mniejszy niż 1000;
  • limit transferu – to jedno z częściej spotykanych ograniczeń na hostingach. Pamiętaj, iż każde uruchomienie strony czy upload pliku zużywa transfer. Dobrze, aby transfer był dopasowany do specyfiki witryny czy aplikacji – niekiedy wystarczy 100 GB miesięcznie, a nieraz konieczny może być pakiet bez jakiegokolwiek limitu transferu.

Dysk SSD na hostingu

Wydajna strona czy aplikacja webowa potrzebują wydajnego hostingu. Wszystko po to, aby dostęp do plików potrzebnych do ich działania był szybki i bezproblemowy. Bardzo dużą rolę odgrywa w tym zakresie dysk twardy wykorzystywany przez serwer.

Dyski talerzowe typu HDD są stosunkowo tanie… i na tym kończą się ich zalety. o ile Twoim celem jest zapewnienie sobie dużej przestrzeni dyskowej, to faktycznie – HDD jest w stanie Ci ją zapewnić przy niskich kosztach. Jednak gdy dochodzi do analizy prędkości odczytu i zapisu – to niestety taki nośnik zdecydowanie przegrywa z nowymi typami dysków.

Hosting oparty na dyskach SATA SSD jest w stanie zapewnić choćby kilkukrotnie wyższą prędkość odczytu plików. W przypadku dysków SSD NVMe (czyli jeszcze nowszej odmiany tego typu nośników), prędkość może wzrosnąć choćby kilkunastokrotnie. Żeby nie być gołosłownym – wystarczy, iż przyjrzysz się poniższemu wykresowi, a na pewno przyznasz mi rację.

Jak widzisz – NVME SSD jest bezkonkurencyjny. (reddit.com)

Dobra strona internetowa wymaga nie tylko wydajnie działającego interpretera PHP. Potrzebny jest także szybki dostęp do plików graficznych, filmów, logotypów, fontów czy wszystkiego innego, co znajduje się na dysku. o ile o to nie zadbasz – odbije się to na jej wydajności.

Oprogramowanie serwerowe

Programy i technologie, z których korzysta hosting – o ile są odpowiednio dobrane i skonfigurowane – mogą mocno poprawić performance aplikacji. Gdy szukasz hostingu PHP, warto zwrócić uwagę na oprogramowanie LiteSpeed.

Dlaczego? Decydując się na LiteSpeed zamiast na Apache, jesteś w stanie zwiększyć wydajność interpretera PHP o 130%. Dzięki temu jest on w stanie wykonać więcej działań na bieżąco. Procesy rzadziej się kolejkują – w konsekwencji interpreter musi sobie radzić ze znacznie mniejszym obciążeniem. Poza tym LiteSpeed posiada rozszerzenie anty-DDOS, które chroni przed atakami, polegającymi na zajęciu zasobów serwerowych.

Niezwykle istotne są także silniki pamięci podręcznej wykorzystywane na serwerze – czyli Redis lub Memcached. Dzięki nim dane pobierane z bazy danych są cache’owane w pamięci szybkiego dostępu. Skutkuje to tym, iż PHP nie musi być zaangażowany do wykonywania często powtarzalnych procesów. Efekt? Skrypty wykonywane są znacznie szybciej, co przekłada się na wydajne działanie aplikacji czy strony.

Wersja HTTP

HTTP odpowiada za komunikację pomiędzy przeglądarką a serwerem. Wprawdzie protokół ten nie wpływa bezpośrednio na obciążenie serwera czy interpretera PHP – to jednak, warto wybierać hosting, który umożliwia obsługę takiej technologii. Dlaczego to takie ważne?

Przede wszystkim – korzystanie z najnowszej wersji protokołu, czyli HTTP/3:

  • sprawia, iż połączenie nawiązywane jest szybciej (m.in. dzięki redukcji handshake’ów w protokole QUIC);
  • jest stabilniejsze – zagubienie pakietu danych nie prowadzi do zerwania połączenia;
  • jest bezpieczniejsze – ponieważ protokół jest oparty na TLS (wykorzystującymkryptograficzne szyfrowanie połączeń).

Decydując się na serwer obsługujący najnowszą generację HTTP, przyczyniasz się do implementacji nowej generacji protokołu. Warto na to spojrzeć także z takiej perspektywy. 🙂

Backupy

Dodawania rozmaitych modyfikacji do kodu strony czy aplikacji to chleb powszedni webmastera. Jednak niekiedy wprowadzona zmiana może doprowadzić do błędu wykonywania skryptu. W konsekwencji strona może przestać działać, a odwiedzającemu wyświetla się informacja, iż witryna nie zostanie wyświetlona z powodu błędu.

Pamiętaj, iż każdemu może powinąć się noga i choćby wprowadzając “rutynowe” zmiany w kodzie, czasem wkradnie się nieoczekiwany błąd. Do tego dochodzą także zagrożenia związane z cyberatakiem czy inną nieautoryzowaną ingerencją w kod źródłowy strony.

Co Ci pozostaje w takiej sytuacji? Przede wszystkim – przywrócenie kopii zapasowej. Oczywiście jako doświadczony webmaster na pewno posiadasz ostatnio działająca kopię strony, prawda? No cóż – choćby o ile jej nie masz, to jeszcze nic straconego. Hosting może wykonywać ją automatycznie i przechowywać na swoich serwerach.

Jednak hostingi mają różne podejście do wykonywania kopii zapasowej. Dobrze, jeżeli:

  • jest wykonywana przynajmniej 1 raz dziennie;
  • jest przechowywana przez przynajmniej 1 tydzień.

Decydując się na taki hosting, zapewnisz sobie solidne zabezpieczenie.

Darmowy SSL

Wprawdzie SSL nie ma dużego wpływu ani na wydajność interpretera, ani na szybkość działania strony – to jednak jest on najważniejszy dla poprawnego funkcjonowania strony internetowej.

Dlaczego?

Bo to istotny element bezpieczeństwa, weryfikujący stronę w przeglądarce odwiedzającego.SSL jest wykorzystywany do weryfikacji strony internetowej. Przeglądarka otrzymuje z serwera kopie certyfikatu SSL wydanego dla witryny, a następnie sprawdza jego poprawność.

Gdy weryfikacja przebiegnie poprawnie, nawiązywane jest bezpieczne połączenie z wykorzystaniem HTTPS. Przesyłane dane są szyfrowane, co zapewnia ich integralność.

Schemat działania SSL. (entrust.com)

W sieci ciągle można natknąć się na strony pozbawione zielonej kłódki oraz możliwości łączenia się za pośrednictwem protokołu HTTPS. Jest to o tyle zaskakujące, iż możliwe jest włączenie SSL zupełnie za darmo.

Jeżeli hosting obsługuje takie rozwiązanie – to nie trzeba płacić kilkudziesięciu czy choćby kilkuset złotych za odnawianie certyfikatu – wystarczy włączyć darmową wersję (np. Let’s Encrypt) – by udostępnić możliwość nawiązania bezpiecznego połączenia.

Uptime/SLA

Strona lub aplikacja utrzymywana na serwerze powinna być dostępna przez cały czas. Jednak dostawca usług hostingowych także musi mieć możliwość przeprowadzenia aktualizacji czy innych prac technicznych na swoich serwerach. W związku z tym zapewnia on usługę hostingową o określonym uptime’ie – czyli czasie jej dostępności.

Jeżeli uptime wynosi 99,9%, oznacza to, iż przez 0,1% czasu w skali miesiąca (ok. 45 minut), serwer może być z różnych przyczyn niedostępny. Im uptime jest niższy – tym większe jest ryzyko, iż chcąc skorzystać ze strony czy aplikacji, będzie ona nieosiągalna.

Jednak samo określenie uptime’u to nie wszystko. Zadbaj także o SLA – czyli umowę (lub zapis w umowie) dotyczącą świadczenia usług na odpowiednim poziomie. Bez tego będzie Ci trudno dochodzić swoich praw, nawet, gdy dostawca nie wywiąże się ze swoich zapewnień. SLA sprawia, iż masz podstawę do reklamacji czy choćby – w zależności od ustaleń – wcześniejszego rozwiązania umowy.

Dodatki dla webmasterów

Powyższe parametry są istotne, aby wybrać hosting, który pozwoli aplikacji czy stronie “rozwinąć skrzydła”. Dzięki temu będzie ona szybsza, bardziej bezpieczna oraz wydajna. Czyli można powiedzieć, iż chodzi przede wszystkim o performance strony.

Jednak hostingi mogą oferować także liczne udogodnienia przeznaczone dla webmasterów. Większość klientów – wyłącznie administrujących treściami na stronie – nie zwróci na nie uwagi. Jednak o ile tworzysz strony w PHP – to zdecydowanie ułatwią Ci one życie.

SSH

SSH czyli Secure Shell to możliwość korzystania z połączenia terminalowego w celu zarządzania serwerem. Dzięki niemu możesz zarządzać ustawieniami, uruchamiać czy przenosić pliki za pośrednictwem wiersza poleceń.

SSH jest stosowany na serwerach dedykowanych czy maszynach wirtualnych. Jednak jak się prawdopodobnie domyślasz – nie każdy hosting umożliwia taką obsługę. Nie oznacza to jednak, iż hosting współdzielony wyklucza się z SSH – po prostu trzeba znaleźć dostawcę, który umożliwi Ci taki sposób zarządzania serwerem.

To bardzo ważne, aby upewnić się, czy hosting zapewnia dostęp przez SSH. Możliwość bezpiecznego wykonywania podstawowych operacji (np. archiwizacji, edycji, wysyłania czy pobierania) bezpośrednio na plikach i katalogach to ogromna oszczędność czasu.

Composer

Zarządzanie pakietami danych może być bardzo uciążliwe. Composer to aplikacja zaprojektowana właśnie do takich działań. Dzięki niej instalacja i zarządzanie bibliotekami może odbywać się z wiersza poleceń.

Composer to narzędzie do zarządzania pakietami danych. (primeprogrammer.blogspot.com)

Composer to ogromne ułatwienie dla zarządzającego stroną czy aplikacją internetową. Jednak, żeby dało się z niego korzystać – konieczny jest wspomniany już wcześniej SSH. Niektóre firmy hostingowe idą o krok dalej – i preinstalują Composera na hostingu. To świetnie rozwiązanie – warto jednak upewnić się, iż hosting korzysta z najbardziej aktualnej wersji tej aplikacji.

Instalacje frameworków

Wybór frameworka to jedna z kluczowych decyzji podczas tworzenia aplikacji czy strony internetowej. Od jego wyboru zależy przede wszystkim łatwość tworzenia aplikacji. Odpowiednio dobierając framework do specyfiki danej aplikacji jesteś w stanie oszczędzić sobie sporo czasu i trudu.

Instalację frameworka (np. takiego jak Laravel) na hostingu możesz przeprowadzić za pośrednictwem wiersza poleceń (SSH). Jednak możesz także skorzystać z opcji instalacji frameworka bezpośrednio z panelu hostingowego. Przykładowo: w cPanel wystarczy przejść do Softaculous, a następnie wskazać framework do instalacji.

W przypadku autorskiego panelu zarządzania serwerem może to wyglądać inaczej, jednak i tak może to być dużym udogodnieniem. W takiej sytuacji instalację frameworka będziesz w stanie przeprowadzić dzięki kilku kliknięć. To na pewno duża wygoda.

Konfigurowanie PHP

Mogą pojawić się sytuacje, w których konieczna jest zmiana parametrów PHP, takich jak np.:

  • max_upload_size
  • max_execution_time
  • post_max_size

W takiej sytuacji przeważnie szuka się pliku php.ini i manualnie dokonuje zmian bezpośrednio w kodzie PHP. Jednak możesz zrobić to znacznie łatwiej – o ile hosting oferuje możliwość parametryzowania PHP bezpośrednio z panelu (np. cPanelu).

Dzięki takiej funkcji, w panelu – najczęściej w miejscu, w którym wybiera się wersję PHP – wystarczy przejść do ustawień zaawansowanych. Po wybraniu tej opcji, masz już możliwość manualnego wprowadzania limitów czy też wprowadzenia ustawień dotyczących poszczególnych parametrów.

Aby strona oparta na PHP funkcjonowała wydajnie – potrzebny jest mocny hosting. Jednak także szereg innych funkcji udostępnianych przez dostawców usług hostingowych może mieć duże znaczenie dla webmasterów. o ile więc chcesz podjąć dobrą decyzję – koniecznie miej na uwadze parametry wskazane w tym artykule.

Autor: Mateusz Mazurek. Wydawca i autor blogów internetowych. Twórca serwisu Jak Wybrać Hosting?, w ramach którego sprawdza, testuje, recenzuje oraz pomaga dobrać najlepsze usługi hostingowe.

Idź do oryginalnego materiału