Większość użytkowników oczekuje od swojej strony wysokiej szybkości działania, głównie dla lepszego UXUX, czyli User Experience, to całościowe doświadczenie użytkownika podczas interakcji z produktem, usługą lub stroną internetową. Obejmuje to zarówno aspekty funkcjonalne, jak i emocjonalne związane z użytkowaniem danego rozwiązania, takie jak łatwość obsługi, intuicyjność, estetyka oraz zadowolenie z korzystania. UX kształtuje się poprzez projektowanie interfejsu i nawigacji w taki sposób, aby użytkownik mógł łatwo i przyjemnie osiągnąć swoje cele. W praktyce oznacza to dostosowanie struktury, wyglądu oraz funkcjonalności strony lub... oraz… dla robotów wyszukiwarki Google. Ponieważ znaczna część stron bazuje na języku PHPPHP - (Hypertext Preprocessor) to popularny język skryptowy, który jest szeroko stosowany w tworzeniu dynamicznych stron internetowych oraz aplikacji webowych. PHP jest językiem open-source, co oznacza, że jest dostępny bezpłatnie i może być modyfikowany przez użytkowników. Jednym z głównych zastosowań PHP jest generowanie dynamicznych treści na stronach internetowych. Dzięki PHP możliwe jest tworzenie stron, które reagują na dane wprowadzone przez użytkowników, co jest kluczowe w przypadku aplikacji takich jak sklep internetowy czy... – 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.4PHP 7.4 to jedna z wersji popularnego języka skryptowego PHP, który jest szeroko stosowany w tworzeniu dynamicznych stron internetowych oraz aplikacji webowych. Wydana w listopadzie 2019 roku, ta wersja wprowadziła szereg nowych funkcji oraz usprawnień w stosunku do poprzednich wersji. Nowości i zmiany w PHP 7.4 Arrow Functions - krótsza składnia dla funkcji anonimowych, co ułatwia pisanie i czytanie kodu. Typed Properties - możliwość deklarowania typów dla właściwości klas, co zwiększa bezpieczeństwo i... (stan marzec 2020) jest aktualnie najnowszą i polecaną wersją.
Jeśli chcesz wiedzieć więcej na temat przyspieszania wordpress, zachęcamy do przeczytania naszych artykułów, znajduje się w nich wiele wskazówek i wiedzy praktycznej!
Aktualnie PHP 7.1 jest już dostępne na wszystkich serwerach hostingu współdzielonego.
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?
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.