Jak szybki jest WordPress z PHP-FPM 7 w porównaniu do 5?

Optymalizacja wydajności WordPress: Przejście z PHP 5 na PHP 7

W świecie technologii, gdzie szybkość i efektywność są na wagę złota, PHP7 jawi się jako znaczący krok naprzód. W tym artykule przyjrzymy się korzyściom płynącym z aktualizacji WordPressa do PHP 7, porównując jego działanie z PHP 5.6. Dodatkowo, omówimy kroki niezbędne do przeprowadzenia tej zmiany na różnych platformach hostingowych, od współdzielonego hostingu po dedykowane serwery VPS.

PHP7, zaprezentowane w 2015 roku, wprowadziło szereg usprawnień w zakresie wydajności. Pomimo obiecujących rezultatów, wciąż wielu użytkowników korzysta ze starszych wersji PHP. Zastanawiające jest, dlaczego tak mało osób zdecydowało się na aktualizację, biorąc pod uwagę potencjalne korzyści.

Wiele źródeł podkreślało przewagę PHP7 nad PHP5. Zmotywowany tymi informacjami, postanowiłem przeprowadzić własne testy, aby zweryfikować, jak bardzo PHP7 przyspiesza działanie stron opartych na WordPressie.

Przed prezentacją wyników, warto podkreślić kluczowe zalety PHP7:

  • Znacząco zredukowane zapotrzebowanie na pamięć operacyjną.
  • Pełna i spójna obsługa architektur 64-bitowych.
  • Zastosowanie nowej, ulepszonej wersji silnika Zend.
  • Wprowadzenie nowej metody obsługi wyjątków, co przekłada się na lepsze radzenie sobie z błędami.
  • Możliwość tworzenia anonimowych klas.
  • Oczywista poprawa szybkości ładowania stron.

WordPress w najnowszej odsłonie w pełni wspiera PHP7, co stawia go w korzystnym świetle. Zobaczmy, jak ta współpraca wypada w praktyce.

Metodologia testowania

Aby zapewnić wiarygodność i przejrzystość wyników, testy przeprowadzono w oparciu o ściśle określone parametry.

  • Wykorzystano serwer Linode w planie za 10 USD, aby zapewnić stabilne środowisko.
  • Zainstalowano WordPress w wersji 4.7 na systemie Ubuntu 16.04 LTS za pośrednictwem EasyEngine.
  • Zastosowano motyw Blogowanie od MyThemeShop.
  • Zrezygnowano z wykorzystania wtyczek buforujących i sieci CDN, aby uzyskać jak najczystsze wyniki.
  • Użyto narzędzia Loader do przeprowadzenia testów obciążeniowych, symulując ruch od 50 do 200 użytkowników przez jedną minutę.

Wydajność WordPress na PHP-FPM 5.6

EasyEngine standardowo konfiguruje PHP-FPM 5.6, co pozwoliło na przeprowadzenie testów bez konieczności dodatkowej konfiguracji. Po instalacji WordPressa i wybranego motywu oraz skierowaniu domeny testowej na adres IP Linode VM, przystąpiono do testów.

Wyniki testów obciążeniowych przy wykorzystaniu Loadera przedstawiają się następująco:

  • Średni czas odpowiedzi: 11.96 sekundy.
  • Minimalny czas odpowiedzi: 0.6 sekundy.
  • Maksymalny czas odpowiedzi: 19 sekund.

Wydajność WordPress na PHP-FPM 7.0

Po przełączeniu na PHP 7 przy użyciu EasyEngine, wyniki uległy znaczącej poprawie:

Różnica jest uderzająca! PHP7 okazało się dwa razy szybsze od PHP 5.6, co uwidoczniło się w każdym aspekcie testu.

  • Średni czas odpowiedzi spadł do 5.1 sekundy, w porównaniu do 11.96 sekundy na PHP 5.6.
  • Minimalny czas odpowiedzi wyniósł 0.4 sekundy, w porównaniu do 0.6 sekundy.
  • Maksymalny czas odpowiedzi zredukowano do 8.2 sekundy, gdzie wcześniej wynosił 19 sekund.

Samo przejście z PHP 5.6 na PHP 7 zaowocowało obniżeniem czasu ładowania strony o 50%. To szybka i efektywna zmiana, którą warto rozważyć.

Wyniki tego testu są jednoznaczne i powinny zmotywować każdego użytkownika WordPressa, który wciąż korzysta ze starszej wersji PHP, do natychmiastowej aktualizacji.

Sprawdzanie kompatybilności

Przed aktualizacją wersji PHP warto upewnić się, że wszystkie używane motywy i wtyczki są kompatybilne z PHP 7, aby uniknąć problemów po zmianie. Pomocne w tym celu jest narzędzie.

Wtyczka PHP Compatibility Checker, stworzona przez WP Engine, umożliwia analizę motywów i wtyczek, identyfikując potencjalne problemy z kompatybilnością z PHP 7.

Jak przejść z PHP 5 na 7?

Istnieje wiele metod migracji do PHP 7, zależnych od wykorzystywanej platformy hostingowej.

Jeśli używasz EasyEngine

Dla użytkowników EasyEngine, zmiana wersji PHP jest niezwykle prosta.

Po zalogowaniu na serwer VPS/chmurę, na którym zainstalowany jest EasyEngine, wystarczy użyć odpowiedniego polecenia:

ee site update yourwebsite.com --php7

Przykład:

[email protected]:~# ee site update chandan.io --php7
PHP7.0 is experimental feature and it may not work with all plugins of your site.
You can disable it by passing --php7=off later.
Do you wish to enable PHP now for chandan.io?
Type "y" to continue [n]:y
Running pre-update checks, please wait...
Backup location : /var/www/chandan.io/backup/25Feb2017093100
Backing up database          [Done]
Setting up NGINX configuration      [Done]
Setting up webroot           [Done]
Reload : nginx     [OK]
Successfully updated site http://chandan.io
[email protected]:~#

Aby potwierdzić, że PHP 7 jest uruchomione, można posłużyć się poleceniem ps.

[email protected]:~# ps -ef|grep php
root     17274     1  0 Feb24 ?        00:00:04 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
root     26674 26541  0 09:31 pts/0    00:00:00 grep --color=auto php
[email protected]:~#

Jeśli zauważysz, że zarówno PHP 5, jak i 7 są aktywne, możesz wyłączyć PHP 5 i usunąć go z automatycznego uruchamiania.

Jeśli korzystasz z hostingu współdzielonego

W przypadku hostingu współdzielonego, który udostępnia cPanel, zmiana wersji PHP jest możliwa z poziomu panelu administracyjnego.

W sytuacji, gdy cPanel nie jest dostępny, konieczny może być kontakt z dostawcą hostingu.

Przykład z panelu SiteGround:

  • Zaloguj się do cPanel.
  • W sekcji oprogramowania wybierz „Menedżer wersji PHP”.

  • Wybierz domenę, dla której chcesz zmienić wersję PHP.
  • Wybierz odpowiednią wersję i zapisz zmiany.

Po potwierdzeniu zmian, nowa wersja PHP zostanie zastosowana do wybranej strony.

Gotowe! W ten sposób udało Ci się przyspieszyć działanie strony na hostingu współdzielonym.

Jeśli hostujesz na Kinsta

Kinsta, jako wysokiej klasy hosting WordPress, wykorzystuje Google Cloud, oferując najwyższą jakość usług. W panelu MyKinsta, zmiana wersji PHP jest bardzo prosta.

W przypadku hostingu w chmurze/VPS

W przypadku hostingu WordPressa w chmurze lub na serwerze VPS (np. Google Cloud, AWS, Linode, DigitalOcean), gdzie instalacja została przeprowadzona ręcznie, aktualizacja PHP wymaga wykonania kilku kroków. Poniżej przedstawiono przykład dla systemu CentOS 6.x:

  • Zaloguj się do serwera CentOS.
  • Wykonaj kopię zapasową serwera przed aktualizacją.
  • Usuń aktualnie zainstalowaną wersję PHP.
yum remove php-fpm php-cli php-common
  • Zainstaluj wymagane repozytoria.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
  • Zainstaluj PHP-FPM 7 oraz potrzebne moduły.
yum install php70w-fpm-nginx php70w-cli php70w-mysqlnd php70w-fpm

Zrestartuj Nginx, MySQL i PHP-FPM, aby zmiany zostały wprowadzone. Po restarcie, warto sprawdzić, czy strona działa poprawnie.

Gratulacje! Udało Ci się zainstalować PHP-FPM 7.

Aby zweryfikować wersję, możesz posłużyć się poniższym poleceniem.

[roo[email protected] init.d]# /usr/sbin/php-fpm -version
PHP 7.0.16 (fpm-fcgi) (built: Feb 18 2017 10:46:38)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
[[email protected] init.d]#

Podsumowanie

Mam nadzieję, że ten artykuł dostarczył wystarczającej wiedzy na temat implementacji PHP-FPM 7 dla WordPressa oraz jego zalet w kontekście wydajności. Zachęcam do wypróbowania PHP-FPM 7, aby doświadczyć znacznego przyspieszenia działania swojej strony WordPress.