W ramach eksperymentu postanowiliśmy porównać dwa liczące się na rynku serwery, czyli LiteSpeed z Apache z mod_lsapi. Chcieliśmy przekonać się, który z wariantów jest wydajniejszy, czy zauważymy różnice w działaniu strony i czy wybór serwera ma wpływ na szybkość obsługi witryny. 

Przekonaj się jak wypadła nasza analiza i odpowiedz sobie na pytanie: który wariant będzie lepszy dla Twojej witryny.

Czym są serwery Litespeed oraz Apache z mod_lsapi?

Serwer WWW to oprogramowanie obsługujące żądania protokołu komunikacyjnego HTTP,  dzięki któremu możliwe jest udostępnianie użytkownikom stron internetowych, które chcą zobaczyć. Jego podstawową funkcją jest przechowywanie, przetwarzanie i udostępnianie stron internetowych. Do popularniejszych serwerów należą m.in. Litespeed oraz Apache.

Apache to darmowe i najpopularniejsze oprogramowanie serwera WWW o otwartym kodzie źródłowym. W serwerach Apache plik .htaccess za każdym razem musi zostać wczytany i przetworzony na nowo.

Litespeed to nowsza, alternatywna wersja serwera w opozycji do popularnego Apache, który dostępny jest m.in. w ofercie hostingowej MSERWIS. Litespeed jest kompatybilny z serwerem Apache i w odróżnieniu od niego wczytywanie pliku .htaccess jest rozwiązane inaczej – poprzez użycie .htaccess caching. Ponadto oprogramowanie LiteSpeed jest zintegrowane z technologią CloudLinux. Takie połączenie daje administratorowi uprawnienia do kontrolowania zasobów każdego użytkownika, a jednocześnie gwarantuje najlepszą wydajność i szybkość ładowania strony. Więcej o CloudLinuxie dowiesz się z tego artykułu: https://blog.mserwis.pl/cloudlinux-stabilny-i-bezpieczny-hosting/

Natomiast mod_lsapi to płatny moduł Apache oparty na API LiteSpeed. Zapewnia znaczną poprawę szybkości i wykorzystania zasobów w witrynach PHP oraz stosunkowo mały rozmiar pamięci w połączeniu z wysokim bezpieczeństwem. Dodatkowo obsługuje buforowanie opcode, czyli działanie zwiększające wydajność PHP i szybkość wykonywania skryptów. 

Jaką metodą testowaliśmy serwery? 

W ramach testów, przy użyciu przeglądarki Chrome w wersji 89, zmierzyliśmy czasy TTFB w dwóch popularniejszych systemach zarządzania treścią (CMS): WordPress oraz Prestashop. TTFB, czyli Time to first byte, oznacza czas, w jakim przeglądarka uzyskuje pierwsze dane z serwera strony internetowej na którą wchodzimy. Czas liczony jest od zapytania do serwera do otrzymania pierwszych bajtów. Można przyjąć, że wyniki poniżej 100 ms są idealnym rezultatem. Natomiast Google PageSpeed ​​Insights zaleca czas odpowiedzi serwera poniżej 200 ms. Za przeciętny wynik przyjąć można wartości w przedziale 300-500 ms. Większy wynik może oznaczać źle skonfigurowany serwer lub przestarzałą infrastrukturę serwerową. 

Testy są możliwe do samodzielnego przeprowadzenia dla własnej witryny. Wystarczy w oknie przeglądarki na badanej stronie wcisnąć klawisz F12. Następnie w nowo otwartym oknie z narzędziami wcisnąć Ctrl + R w celu odświeżenia badanej strony., a oknie z narzędziami kliknąć w pierwszą linię w kolumnie. Finalnie po prawej stronie w zakładce Timing pojawi się informacja z TTFB. W celu uzyskania rzetelnego wyniku należy zablokować cache (Disable cache) i wyciągnąć średnią z kilku przeprowadzonych prób. Cache, czyli pamięć podręczna to taka, która przechowuje często wykorzystywane dane, aby dostęp do nich był możliwie jak najszybszy.

Tym sposobem możemy samodzielnie porównać czas generowania swojej strony ze stroną konkurencji.

Sprawdzanie czasu reakcji serwera na WordPressie

W ramach testów przygotowaliśmy stronę WordPressa w wersji 5.7 z zainstalowanym motywem Divi. Chcieliśmy odzwierciedlić przeciętną stronę użytkownika, czyli taką, która jest już zagospodarowana. Ponadto chcieliśmy uzyskać jak najrzetelniejszy rezultat. Motyw Divi instaluje znaczną ilość bibliotek, które na starcie dodatkowo obciążają WordPressa i wpływają na jego wydajność.  

Porównaliśmy WordPressa 5.7 z zainstalowanym motywem Divi w dwóch konfiguracjach:

  • na serwerze Apache + mod_lsapi;
  • na serwerze LiteSpeed Enterprise z zainstalowaną wtyczką w WordPressie LiteSpeed Cache.

Zmierzyliśmy czasy TTFB w przeglądarce Chrome w wersji 89 (aktualnej na dzień 8 kwietnia 2021 roku).

Jak widać różnica w czasie TTFB była ogromna – na serwerze LiteSpeed aż 35-krotnie szybciej otrzymywaliśmy pierwszy bajt strony. Podobne porównania prezentowane są w wielu serwisach – warto jednak sprawdzić, skąd dokładnie wynika taka różnica i czy takie porównanie jest „sprawiedliwe”? Okazuje się, że we wtyczce LiteSpeed Cache domyślnie włączony jest Page Cache – mechanizm, który zapisuje całe strony. Oznacza to, że po pierwszej odsłonie strona zapisywana jest na serwerze (w pamięci lub na dysku), a kolejne odsłony nie są już generowane w całości przez PHP tylko są odczytywane z cache. Page Cache jest czyszczone po zmodyfikowaniu strony, a na niektórych stronach – jak np. stronie koszyka w WooCommerce, PageCache jest wyłączone po to, aby klienci nie otrzymali strony z koszykiem innego klienta.

Wyłączyliśmy zatem Page Cache we wtyczce LiteSpeed Cache na serwerze LiteSpeed. Po wykonaniu 20 prób okazało się, że średni czas TTFB na serwerze LiteSpeed jest o 26% krótszy od czasu, który uzyskaliśmy na serwerze Apache z mod_lsapi.

Sprawdziliśmy następnie, czy różnica w czasie TTFB nie wynika z object i database cache, które są zastosowane we wtyczce LiteSpeed Cache. W konfiguracji z serwerem Apache zainstalowaliśmy wtyczkę W3 Total Cache i włączyliśmy database i object cache. Po wykonaniu 20 prób różnica czasów TTFB pomiędzy oboma serwerami zmalała:

Po włączeniu Page Cache we wtyczce W3 Total Cache na serwerze Apache oraz Page Cache we wtyczce LiteSpeed Cache na serwerze LiteSpeed czasy wyrównały się i pierwszy bajt strony otrzymywaliśmy po 26 ms:

Jak widać, korzyść z zastosowania serwera LiteSpeed wynika z zastosowania cache we wtyczce LiteSpeed Cache (ta wtyczka jest automatycznie instalowana po włączeniu obsługi LiteSpeed dla WordPressa w cPanelu) – identyczny efekt w postaci przyspieszenia generowania i wczytywania strony możemy osiągnąć na serwerze Apache po zainstalowaniu i odpowiednim skonfigurowaniu wtyczki W3 Total Cache.

Być może serwer LiteSpeed daje większe korzyści na słabszych serwerach – z mniejszą liczbą pamięci RAM, wolniejszymi procesorami i dyskami.Trzeba jednak zaznaczyć, że nie porównywaliśmy zajętości pamięci czy obciążenia dysków obu serwerów.

Sprawdzanie czasu reakcji serwera na PrestaShopie

W czystym PrestaShop z domyślnymi danymi przeprowadziliśmy testy czasów TTFB na serwerze LiteSpeed oraz Apache.

Dla 20 prób średnie czasy do pierwszego bajtu na obu serwerach były porównywalne. Włączyliśmy wbudowany w PrestaShop mechanizm cache i przeprowadziliśmy 20 prób dla każdego z serwerów www.

Czasy TTFB spadły prawie o połowę – nie widać jednak wyraźnego faworyta w tym zestawieniu, choć czasy na serwerze Apache były o kilka procent niższe.

Znaczne przyspieszenie czasu TTFB (do 24 ms) dało nam zainstalowanie modułu LiteSpeed Cache for PrestaShop, który ma mechanizm Page Cache – ten sam efekt możemy jednak osiągnąć korzystając z jednego z kilku modułów dedykowanych do przyspieszenia sklepu, m.in.:

  • Super Speed – Incredibly fast – GTmetrix optimization Module,
  • Page Cache Ultimate Module, 
  • Page Cache Pro – Speed & SEO optimization Module.

Podsumowanie – Porównanie serwerów LiteSpeed Enterprise i Apache z mod_lsapi

Jak widać na przykładzie WordPressa i PrestaShop – na wydajnych serwerach największe skrócenie czasu wczytywania strony osiągniemy optymalizując kod PHP (np. poprzez zastosowanie odpowiednich wtyczek) niż zmieniając oprogramowanie serwera www. Nie bez znaczenia są również ustawienia danego serwera – warto pamiętać o skonfigurowaniu odpowiednich nagłówków cache dla plików statycznych. Taka operacja pozwoli na wczytywanie niektórych zasobów strony z dysku użytkownika zamiast z serwera www.

Wybierając serwer, warto kierować się jego parametrami, czyli m.in. prędkością i rodzajem używanych dysków. Specyfikacje hostingów powinny być zawsze ogólnodostępne. Ponadto warto samodzielnie zrobić rozeznanie, co dany dostawca hostingu instaluje na serwerach oraz czy te rozwiązania są niezbędne i wpływają korzystnie na wydajność strony internetowej. 

close

Zapisz się na powiadomienia o nowych artykułach i odbierz link do unikatowej oferty

Zostaw e-mail, a dostaniesz informację o nowych artykułach

* Wypełniając formularz wyrażam zgodę na przesłanie na mój adres e-mail powiadomień ze strony „Blog.mserwis.pl”. Szczegóły związane z przetwarzaniem Twoich danych osobowych znajdziesz w naszej polityce prywatności: https://www.domeny.tv/polityka-prywatnosci

Polub nas na facebooku

Facebook Pagelike Widget

Komentarze