Większość użytkowników oczekuje od swojej strony wysokiej szybkości działania, głównie dla lepszego UX oraz… dla robotów wyszukiwarki Google. Ponieważ znaczna część stron bazuje na języku PHP – postanowiliśmy sprawdzić jak wygląda szybkość skryptów w popularnym benchmarku..

Przygotowanie badania

Na zwykłym koncie hostingowym w cyber_Folks umieściliśmy skrypt testujący: PHP Benchmark. Skrypt ten uruchomiliśmy następnie, ustawiając w panelu Direct Admin wersje interpretera PHP: 5.2, 5.6, 7.0 oraz 7.1

Zasady pomiaru

Skrypt wykonuje 4 rodzaje popularnych działań w pętli. Pętle są tak skonstruowane, aby sprawdzić działanie popularnych instrukcji, które są wykonywane praktycznie w większości zaawansowanych skryptów.

  • test_math – ten testy wykonuje obliczenia czysto matematyczne, jak wyciągnie pierwiastków, obliczanie funkcji trygonometrycznych itp. 140.000 powtórzeń.
  • test_stringmanipulation – naszym zdaniem bardzo ważny test, bazujący na operacjach na ciągach tekstowych, takich jak zmiana wielkości liter, obliczanie hasha md5, obliczanie długości ciągu, dodawanie ukośników (add_slashes) itp. 130.000 powtórzeń
  • test_loops – ten test pokazuje szybkość wykonywania prostej pętli, której zadaniem jest inkrementacja pojedynczej zmiennej, od 1 do 19.000.000
  • test_ifelse – test bazuje na powtórzeniach pętli z zagnieżdżoną strukturą instrukcji warunkowych if… else… 9.000.000 powtórzeń

Jak widać, większość w/w mechanizmów wykorzystuje się w popularnych skryptach, związanych z funkcjonowaniem stron i aplikacji internetowych. Wynik zbiorczy jest czasem wykonania wszystkich w/w testów w sekundach. Poniżej pokazujemy przykładowy wynik działania skryptu.

--------------------------------------
|        PHP BENCHMARK SCRIPT        |
--------------------------------------
Start : 2020-03-20 08:09:38
Server : test.ssd-linuxpl.com@195.78.66.87
PHP version : 7.3.15
Platform : Linux
--------------------------------------
test_ifelse               : 0.129 sec.
test_loops                : 0.230 sec.
test_stringmanipulation   : 0.287 sec.
test_math                 : 0.207 sec.
--------------------------------------
Total time:               : 0.853 sec.


Wyniki

Okazuje się, że wyniki są bardzo silnie uzależnione od wybranej wersji PHP. Najszybsza jest… prawie najnowsza wersja! PHP 7.3 oraz 7.4 cechują się bardzo zbliżoną wydajnością. Wyniki różnią się minimalnie na korzyść wersji PHP 7.3. Warto nadmienić, iż w chwili publikowania niniejszego materiału bardzo niewiele firm hostingowych w Polsce oferuje PHP 7.4. Skrypt uruchamialiśmy trzykrotnie w każdej z analizowanych wersji PHP – wykres przedstawia wartość uśrednioną.

Jak widać, zadanie, które zabrało skryptowi ponad 5 sekund w archaicznej wersji 5.1 (ale wciąż są strony, działające w oparciu o tę wersję!) – w nowej odsłonie PHP trwa krócej niż sekundę.

Przez długi czas zastanawialiśmy się dlaczego wydajność PHP 7.4 w naszym teście nie była lepsza od wersji PHP 7.3. Wspólnie ustaliliśmy, że odpowiada za to narzędzie, którym wykonujemy Benchmark wersji php. PHP Benchmark powstał lata temu i faktycznie wykrywał duże różnice w hostingach i wersjach PHP. Dzisiaj interpetery PHP są tak dopracowane, że czas wykonywania tego kiedyś bardzo pracochłonnego skryptu jest liczona w ułamkach sekundy. Stąd też bardzo łatwo o podobne wyniki.

Włączamy PHP 7.4

W hostingu cyber_Folks możesz bez problemu zawsze włączyć najnowszą i najszybszą wersję PHP. PHP 7.4 (stan marzec 2020) jest aktualnie najnowszą i polecaną wersją.

Jeśli chcesz wiedzieć więcej na temat przyśpieszania wordpress, zachęcamy do przeczytania naszych artykułów, znajduje się w nich wiele wskazówek i wiedzy praktycznej!

Artur Pajkert z kubkiem cyber_Folks
>
Artur Pajkert
Od 18 lat dzieli się wiedzą i poradami w sprawach e-marketingu i hostingu, jako menedżer, autor publikacji, prelegent, bloger, wykładowca akademicki.

3 odpowiedzi do "W jaki prosty sposób Twoja strona może stać się nawet 5x szybsza?"

  1. Artur Pajkert pisze:

    Aktualnie PHP 7.1 jest już dostępne na wszystkich serwerach hostingu współdzielonego.

    1. Moneetor pisze:

      Widzę,że na obrazku jest już możliwość wybrania, które moduły są użyciu. Czy to ma jakiś znaczący wpływ na wydajność PHP?

      1. Hekko.pl pisze:

        Nie ma naszym zdaniem wpływu szczególnie dużego, ale zawsze warto przetestować samodzielnie – każda aplikacja może zachowywać się nieco inaczej. Generalnie od zaznaczonych modułów znacznie większy wpływ na wydajność będzie mieć wersja PHP.

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.

Polecane dla Ciebie

Szukasz dalej?