Jak rychlý je WordPress s PHP-FPM 7 ve srovnání s 5?

PHP7 přináší značná vylepšení v oblasti výkonu. V tomto článku jsem provedl srovnávací test, abych ověřil, jak se WordPress chová s PHP 5.6 a PHP 7.

Dále se dozvíte, jak provést aktualizaci WordPressu z PHP 5 na verzi 7 na sdíleném hostingu i na VPS/Cloud serverech.

PHP7 bylo uvedeno na trh již v roce 2015 a přineslo mnoho výkonnostních inovací. Zdá se však, že nová verze PHP ještě nedosáhla masového rozšíření.

Jak je vidět, PHP7 dosáhlo pouze mírně nad 3% podíl na trhu, a to i přes své pokročilé funkce. Je na vině nedostatečné povědomí?

Po přečtení mnoha článků srovnávajících PHP7 a PHP5 jsem se rozhodl provést vlastní test, abych zjistil, jak rychlý je WordPress s PHP7.

Než se dostaneme k samotným výsledkům, je vhodné zmínit některé klíčové vlastnosti PHP7:

  • Nižší spotřeba operační paměti
  • Plná a stabilní 64bitová podpora
  • Nový engine Zend
  • Vylepšená výjimka engine pro efektivnější zpracování chyb
  • Možnost definování anonymních tříd
  • Znatelně rychlejší načítání webových stránek (samozřejmě)

Nejnovější verze WordPress oficiálně podporují PHP7. Podívejme se, jak si vedou v kombinaci s PHP7.

Detaily testování

Nyní krátce k testovací platformě a postupu, abyste měli jasnou představu o tom, jak test probíhal.

  • Použil jsem Linode plán za 10 dolarů a udělal jsem následující kroky.
  • Nainstaloval jsem WordPress 4.7 na Ubuntu 16.04 LTS prostřednictvím EasyEngine
  • Nainstaloval jsem šablonu Blogging od MyThemeShop
  • Nepoužil jsem žádný plugin pro cachování ani CDN
  • Použil jsem Loader pro provedení zátěžového testu s 50 až 200 klienty po dobu jedné minuty.

Výkon WordPressu s PHP-FPM 5.6

EasyEngine standardně instaluje PHP-FPM 5.6, takže jsem nemusel provádět žádné další konfigurace kromě instalace WordPressu, šablony a nasměrování testovací domény na IP Linode VM.

Následně jsem spustil test v Loaderu a zde jsou výsledky:

  • Průměrná doba odezvy: 11,96 s
  • Minimální doba odezvy: 0,6 s
  • Maximální doba odezvy: 19 s

Výkon WordPressu s PHP-FPM 7.0

Po přechodu na PHP 7 pomocí Easy Engine byly zaznamenány následující výsledky:

Skvělé! Jak je zřejmé, PHP7 je zhruba dvakrát rychlejší. PHP7 si vedlo výborně ve všech aspektech.

  • Průměrný čas se snížil na 5,1 sekundy oproti 11,96 s u PHP 5.6
  • Minimální doba odezvy činí 0,4 sekundy oproti 0,6 sekundy
  • Maximální doba odezvy je 8,2 sekundy oproti 19 sekundám

Pouhým přechodem WordPressu z PHP 5.6 na PHP 7 se snížila doba načítání webu o 50 %.

Je zřejmé, že je to rychlé vylepšení pro jakýkoli web WordPress. Pokud stále nepoužíváte nejnovější verzi PHP, tyto výsledky by vás měly motivovat k upgradu.

Kontrola kompatibility

Před aktualizací PHP je vhodné ověřit, zda jsou vaše šablony a pluginy kompatibilní s PHP 7, aby po aktualizaci nedošlo k problémům.

Plugin PHP Compatibility Checker od WPEngine analyzuje vaše stávající šablony a pluginy a upozorní vás, pokud jsou kompatibilní s PHP 7.

Jak přejít z PHP 5 na PHP 7?

Existuje několik způsobů, jak to provést, v závislosti na používané platformě.

Pokud používáte EasyEngine

Pravděpodobně jedním z nejrychlejších způsobů, jak změnit verzi PHP, je použití EasyEngine.

Přihlaste se do svého VPS/Cloudu, kde je nainstalován EasyEngine.

Spusťte příkaz ee

ee site update yourwebsite.com --php7

Příklad:

[email protected]:~# ee site update chandan.io --php7
PHP7.0 je experimentální funkce a nemusí pracovat se všemi pluginy na vašem webu.
Můžete ji deaktivovat pomocí --php7=off.
Chcete nyní aktivovat PHP pro chandan.io?
Zadejte "y" pro pokračování [n]:y
Probíhají předaktualizační kontroly, prosím čekejte...
Umístění zálohy: /var/www/chandan.io/backup/25Feb2017093100
Zálohování databáze          [Dokončeno]
Nastavení konfigurace NGINX      [Dokončeno]
Nastavení webroot           [Dokončeno]
Opětovné načtení: nginx     [OK]
Web http://chandan.io byl úspěšně aktualizován
[email protected]:~#

Pro ověření, že běží PHP 7, můžete použít příkaz ps.

[email protected]:~# ps -ef|grep php
root     17274     1  0 Feb24 ?        00:00:04 php-fpm: hlavní proces (/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]:~#

Poznámka: Pokud si všimnete, že běží PHP 5 i 7, můžete zastavit PHP 5 a odebrat ji z automatického spouštění.

Pokud používáte sdílený hosting

Pokud máte sdílený hosting s cPanelem, můžete si verzi PHP změnit sami následujícím postupem.

V opačném případě se budete muset obrátit na svého poskytovatele hostingu.

Následující obrázek pochází z hostingu SiteGround.

  • Přihlaste se do svého cPanelu.
  • Klikněte na „PHP Version Manager“ v sekci 1H Software.

  • Vyberte web, u kterého chcete změnit verzi PHP.
  • Změňte verzi PHP a klikněte na Uložit.

Obdržíte potvrzení, že na váš web byla aplikována nová verze PHP.

Výborně! Právě jste zrychlili svůj web WordPress na sdíleném hostingu.

Pokud máte hosting u Kinsta

Kinsta je prémiový spravovaný WordPress hosting, který využívá Google Cloud a nabízí maximální výkon. Verzi PHP můžete změnit v MyKinsta.

Pokud máte hosting na Cloud/VPS

Pokud hostujete WordPress na cloudu nebo VPS (například Google Cloud, AWS, Linode, DigitalOcean atd.) a vše jste si nainstalovali sami ručně, můžete postupovat následovně (příklad pro CentOS 6.x) pro upgrade PHP.

  • Přihlaste se do svého CentOS virtuálního počítače.
  • Před upgradem proveďte zálohu virtuálního počítače, abyste se mohli vrátit zpět, pokud se něco pokazí.
  • Odstraňte stávající verzi PHP.
yum remove php-fpm php-cli php-common
  • Nainstalujte následující repozitáře:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
  • Nainstalujte PHP-FPM 7 a požadované moduly.
yum install php70w-fpm-nginx php70w-cli php70w-mysqlnd php70w-fpm

Restartujte Nginx, MySQL a PHP-FPM, abyste zajistili načtení nejnovější verze. Také si můžete ověřit funkčnost vašeho webu WordPress.

Gratulujeme! Úspěšně jste nainstalovali PHP-FPM 7.

Pro ověření verze můžete provést následující:

[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]#

Závěr

Doufám, že vám tento článek poskytl představu o tom, jak implementovat PHP-FPM 7 pro WordPress a jaké jsou jeho výkonnostní přínosy. Takže neváhejte a vyzkoušejte PHP-FPM 7 a užijte si rychle se načítající web WordPress.