php benchmarks1

Тест швидкості PHP 7.3 на хостингу (2019)

Пропонуємо до вашої уваги докладні тести продуктивності для різних платформ, щоб побачити, як працюють різні версії PHP. Протестовано п’ять різних версій PHP на 23 різних платформах/конфігураціях; включаючи WordPress (4.9 та 5.0), Drupal, Joomla!, Laravel, Symfony та багато інших. Також протестовані популярні рішення для електронної комерції, такі як WooCommerce, Easy Digital Downloads, Magento, Grav CMS та October CMS.

Користувачам WordPress завжди краще використовувати останні підтримувані версії PHP. Вони не тільки безпечніші, але й краще за продуктивністю. І мова не тільки про WordPress, це вірно здебільшого для всіх платформ. Сьогодні ви побачите, як працює PHP 7.3.

Прощай HHVM, 2019 рік – це рік PHP

PHP – це серверна мова сценаріїв та програмування з відкритим вихідним кодом, який переважно використовується для веб-розробки. Основна частина програмного забезпечення WordPress написана на PHP, що робить PHP дуже важливою мовою для спільноти WordPress. Хоча новий редактор блоків WordPress 5.0 використовує більше JavaScript і React.

Згідно W3Techs, PHP використовують понад 78% всіх веб-сайтів, які використовують мову програмування на стороні сервера. Деякі можуть стверджувати, що PHP мертвий. Але навіть якщо розробники люблять заявляти про це, PHP живий, працює швидше і краще, ніж будь-коли.

У тестах 2016 року HHVM був очевидним переможцем з погляду продуктивності, коли справа дійшла до запуску WordPress. HHVM було створено командою розробників Facebook. Це система, що використовує JIT-компіляцію для перетворення PHP-коду в машинну мову для взаємодії між PHP-кодом та обладнанням, на якому він виконується. Тому хостинг Kinsta пропонував HHVM як альтернативу, тому що PHP не встигав з точки зору поліпшень.

Тим не менш, у тестах 2017 року PHP 7.2 почав лідирувати майже на всіх платформах, вперше обійшовши HHVM (чим більше запитів, тим краще):

  • WordPress 4.9.4 PHP 7.2 продуктивність: 148.80 запитів за секунду.
  • WordPress 4.9.4 HHVM продуктивність: 144,76 запитів за секунду.
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.2 продуктивність: 92.60 запитів за секунду.
  • WordPress 4.9.4 + WooCommerce 3.3.1 HHVM продуктивність: 69,58 запитів за секунду.

Тому з 28 серпня 2018 року Кінста припинила пропонувати HHVM. По-перше, тому що це не є стабільним рішенням для WordPress, а по-друге, тому що HHVM, після версії 3.30, не підтримує PHP.

Насправді це хороша новина як для розробників, так і для кінцевих користувачів, оскільки це означає, що ми повинні зосередитися на PHP і робити більш швидкі веб-сайти та веб-сервіси для всіх. Таким чином, цього року всі орієнтовані на PHP!

Нижче ви побачите, як працює остання версія PHP 7.3 (випущена 6 грудня 2018), а також WordPress 5.0 (за іронією долі також випущена 6 грудня 2018).

З відходом HHVM з поля зору, 2019 став роком PHP. І PHP 7.3 працює швидко!

Продуктивність PHP (2019)

Для кожного тесту використовувалася остання версія кожної платформи та протягом 1 хвилини вимірювалася продуктивність домашньої сторінки з 15 одночасними користувачами. Нижче наведено подробиці тестового середовища.

  • сервер: 8x Intel(R) Xeon(R) CPU @ 2.20GHz (працює на Google Cloud Platform і працює в ізольованому контейнері)
  • ОС: Ubuntu 18.04.1 LTS (Bionic Beaver)
  • Docker кластер: Debian 9, Nginx 1.15.7, MariaDB 10.3.11
  • Версія PHP: 5.6, 7.0, 7.1, 7.2, 7.3
  • Кешування сторінок: вимкнено на всіх конфігураціях та платформах.
  • OPCache: для WordPress, Joomla та Drupal використовувався офіційний образ Docker та був створений свій власний для PHP 7.3. В іншому використовувався той же образ налаштування з увімкненим OPcache, використовуючи рекомендовані налаштування php.ini за винятком значення opcache.max_accelerated_files яке було збільшено з 4000 до 50000.
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=50000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

OPcache підвищує продуктивність PHP, зберігаючи байт-код попередньо скомпільованого скрипта у спільній пам’яті, тим самим усуваючи необхідність PHP завантажувати та аналізувати скрипти при кожному запиті.

Тести були виконані Торіком Фірдаусом (Thoriq Firdaus), автором та інженером підтримки WordPress у Kinsta. Він брав участь у WordPress Core та редагував переклади для WordPress Індонезія.

Протестовані платформи та конфігурації

Тести включають такі 23 платформи/конфігурації. У деяких випадках доводилося тестувати кілька версій через відсутність підтримки конкретної версії PHP. Виберіть один із пунктів нижче, щоб перейти безпосередньо до нотаток та результатів тестування. Дані вимірюються кількістю запитів за секунду. Чим більше запитів, тим краще.

У зв’язку з тим, що демонстраційний контент на кожній платформі може відрізнятися, було вирішено тестувати сиру продуктивність з налаштуваннями за замовчуванням відразу після інсталяції.

Була протестована продуктивність 23 платформ/конфігурацій на 5 різних версіях PHP та PHP 7.3 перемогла у 20 з 20 (3 не підтримують)!

WordPress 5.0

Тестування розпочали, звичайно, з WordPress. WordPress це програмне забезпечення з відкритим вихідним кодом, яке можна використовувати для створення веб-сайту, блогу або програми. Фактично на WordPress працює понад 32% усіх веб-сайтів в Інтернеті. Так, більш ніж один із чотирьох веб-сайтів, який ви відвідуєте, працює на WordPress.

wordpress

Почали з WordPress 5.0, тому що це версія, яка, ймовірно, вас усіх зараз цікавить. Використовували нову тему Twenty Nineteen (1.0) та протягом хвилини тестували сайт із 15 одночасними користувачами.

  • URL: /hello-world/
  • Примітка: сторінка містить 1 коментар.
  • Образ Docker взятий з https://hub.docker.com/_/wordpress/ , і створили свій власний для PHP 7.3.

wordpress-5.0-php-benchmarks-v2

– WordPress 5.0, продуктивність PHP

Результати тестів

  • WordPress 5.0, PHP 5.6 продуктивність: 91,64 запитів за секунду
  • WordPress 5.0, PHP 7.0 продуктивність: 206,71 запитів за секунду
  • WordPress 5.0, PHP 7.1 продуктивність: 210,98 запитів за секунду
  • WordPress 5.0, PHP 7.2 продуктивність: 229,18 запитів за секунду
  • WordPress 5.0, PHP 7.3 продуктивність: 253,20 запитів за секунду

PHP 7.3 – переможець виявився швидше, ніж PHP 7.2. І якщо ви порівняєте PHP 7.3 з PHP 5.6, він може обробити майже втричі більше запитів (транзакцій) за секунду!

WordPress 5.0 + WooCommerce 3.5.2

WooCommerce – це платформа електронної комерції, що повністю настроюється, з відкритим вихідним кодом, створена для WordPress. Безумовно, це одне з найпопулярніших рішень для електронної комерції у спільноті WordPress, і нині вони користуються більш ніж 14% всіх сайтів електронної комерції.

woocommerce

Для наступного тесту використовувався WordPress разом із встановленою WooCommerce. Ми використовували безкоштовну тему електронної комерції Storefront (2.4.1).

  • URL: /product/woo-logo/
  • Примітка: на сторінці міститься 3 супутні товари, 1 огляд/коментар про товар, 1 товар у розділі «Вам також може сподобатися», наступна та попередня сторінки пагінації з товарами.
  • Образ Docker взятий з https://hub.docker.com/_/wordpress/ , і ми створили свій власний PHP 7.3.

wordpress-5.0-woocommerce-php-benchmarks

– WordPress 5.0 + WooCommerce, продуктивність PHP

Результати тестів

  • WordPress 5.0 + WooCommerce 3.5.2, PHP 5.6 продуктивність: 24,74 запит./сек.
  • WordPress 5.0 + WooCommerce 3.5.2, PHP 7.0 продуктивність: 56,94 запит./сек.
  • WordPress 5.0 + WooCommerce 3.5.2, PHP 7.1 продуктивність: 57,00 запит./сек.
  • WordPress 5.0 + WooCommerce 3.5.2, PHP 7.2 продуктивність: 63.10 запит./сек.
  • WordPress 5.0 + WooCommerce 3.5.2, PHP 7.3 продуктивність: 68,87 запит./сек.

При запуску WooCommerce PHP 7.3 випередив з невеликим відривом PHP 7.2.

WordPress 5.0 + Easy Digital Downloads 2.9.9

Easy Digital Downloads (EDD), створений Піппін Вільямсон (Pippin Williamson), є безкоштовним плагіном для електронної комерції WordPress, мета якого – допомогти творцям і розробникам продавати цифрові продукти.

easy-digital-downloads

Подивившись, як працює WooCommerce, ми взяли WordPress та встановили Easy Digital Downloads. Ми використали безкоштовну тему EDD Starter (1.0).

  • URL: /downloads/sample-product/
  • Примітка: сторінка містить 3 меню на панелі навігації та віджет «Додати до корзини».
  • Образ Docker взятий з https://hub.docker.com/_/wordpress/ , і створили свій власний для PHP 7.3.

wordpress-5.0-edd-php-benchmarks

– WordPress + Easy Digital Downloads, продуктивність PHP

Результати тестів

  • WordPress 5.0 + EDD 2.9.9, PHP 5.6 продуктивність: 71,74 запит./сек.
  • WordPress 5.0 + EDD 2.9.9, PHP 7.0 продуктивність: 169,11 запит./сек.
  • WordPress 5.0 + EDD 2.9.9, PHP 7.1 продуктивність: 170,08 запит./сек.
  • WordPress 5.0 + EDD 2.9.9, PHP 7.2 продуктивність: 187,78 запит./сек.
  • WordPress 5.0 + EDD 2.9.9, PHP 7.3 продуктивність: 206,88 запит./сек.

PHP 7.3 лідирував у тестах WordPress та Easy Digital Downloads. Ви також можете помітити, що EDD може обробляти в 3 рази більше запитів (транзакцій) за секунду, якщо порівнювати з WooCommerce! Немає сумнівів, що EDD – це просто швидше і легке рішення.

WordPress 5.0.2

Оскільки WordPress 5.0.2 був випущений нещодавно, ми подумали, що було б цікаво запустити тести для 5.0.2.

wordpress

Ми використали нову тему Twenty Nineteen (1.0) та протягом хвилини тестували сайт з 15 одночасними користувачами.

  • URL: /hello-world/
  • Примітка: сторінка містить 1 коментар.
  • Образ Docker взятий з https://hub.docker.com/_/wordpress/ , і ми створили свій власний для PHP 7.3.

wordpress-5.0.2-php-benchmarks– WordPress 5.0.2, продуктивність PHP

Результати тестів

  • WordPress 5.0.2, PHP 5.6 продуктивність: 88,62 запит./сек.
  • WordPress 5.0.2, PHP 7.0 продуктивність: 205,06 запит./сек.
  • WordPress 5.0.2, PHP 7.1 продуктивність: 207,34 запит./сек.
  • WordPress 5.0.2, PHP 7.2 продуктивність: 219,01 запит./сек.
  • WordPress 5.0.2, PHP 7.3 продуктивність: 241,27 запит./сек.

PHP 7.3 знову взяв золото, але WordPress 5.0.2 був трохи повільнішим, ніж версія 5.0.

WordPress 4.9.8

Оскільки WordPress 5.0 був випущений зовсім недавно, ми подумали, що було б цікаво запустити тести для 4.9.8, оскільки багато хто з вас, ймовірно, ще не оновився. Або вам може бути цікаво, чи WordPress 5.0 працює швидше або повільніше.

wordpress

Ми використали нову тему Twenty Nineteen (1.0) та протягом хвилини тестували сайт з 15 одночасними користувачами.

  • URL: /hello-world/
  • Примітка: сторінка містить 1 коментар.
  • Образ Docker взятий https://hub.docker.com/_/wordpress/ , і був створений свій власний для PHP 7.3.

wordpress-4.9.8-php-benchmarks– WordPress 4.9.8, продуктивність PHP

Результати тестів

  • WordPress 4.9.8, PHP 5.6 продуктивність: 97,59 запит./сек.
  • WordPress 4.9.8, PHP 7.0 продуктивність: 221,42 запит./сек.
  • WordPress 4.9.8, PHP 7.1 продуктивність: 233,78 запит./сек.
  • WordPress 4.9.8, PHP 7.2 продуктивність: 250,36 запит./сек.
  • WordPress 4.9.8, PHP 7.3 продуктивність: 276,31 запит./сек.

PHP 7.3 був переможцем, виявившись швидше, ніж PHP 7.2. І якщо ви порівняєте PHP 7.3 з PHP 5.6, він може обробляти майже втричі більше запитів на секунду!

Однак найцікавішим є те, що WordPress 4.9.8 працює швидше, ніж WordPress 5.0 . Це нас не дуже дивує, тому що весь проект WordPress 5.0 був випущений поспіхом. У майбутньому можете очікувати кращих результатів з WordPress 5.0, оскільки розробники продовжують його вдосконалити.

Ви вперше почули про це з нас, WordPress 4.9.8 працює швидше, ніж WordPress 5.0.

WordPress 4.9.8 + WooCommerce 3.5.2

Також провели тести продуктивності на WordPress 4.9.8 та WooCommerce 3.5.2.

woocommerce

Для наступного тесту ми взяли WordPress разом із встановленою WooCommerce. Ми використовували безкоштовну тему електронної комерції Storefront (2.4.1).

  • URL: /product/woo-logo/
  • Примітка: на сторінці міститься 3 супутні товари, 1 огляд/коментар про товар, 1 товар у розділі «Вам також може сподобатися», наступна та попередня сторінки пагінації з товарами.
  • Образ Docker взятий з https://hub.docker.com/_/wordpress/ , і створили свій власний для PHP 7.3.

WordPress-4.9.8-woocommerce-php-benchmarks– WordPress 4.9.8 + WooCommerce, продуктивність PHP

Результати тестів

  • WordPress 4.9.8 + WooCommerce 3.5.2, PHP 5.6 продуктивність: 26.07 запит./сек.
  • WordPress 4.9.8 + WooCommerce 3.5.2, PHP 7.0 продуктивність: 60,37 запит./сек.
  • WordPress 4.9.8 + WooCommerce 3.5.2, PHP 7.1 продуктивність: 60.36 запит./сек.
  • WordPress 4.9.8 + WooCommerce 3.5.2, PHP 7.2 продуктивність: 63.33 запит./сек.
  • WordPress 4.9.8 + WooCommerce 3.5.2, PHP 7.3 продуктивність: 69.24 запит./сек.

PHP 7.3 випередив PHP 7.2 із невеликим відривом. WordPress 4.8.9 з WooCommerce також був трохи швидшим, ніж WordPress 5.0.

WordPress 4.9.8 + Easy Digital Downloads 2.9.9

Також провели тести продуктивності з WordPress 4.9.8 та Easy Digital Downloads 2.9.9.

easy-digital-downloads

Ми взяли WordPress разом з Easy Digital Downloads та використали безкоштовну версію EDD Starter Theme (1.0).

  • URL: /downloads/sample-product/
  • Примітка: сторінка містить 3 меню на панелі навігації та віджет «Додати до корзини».
  • Образ Docker взятий з https://hub.docker.com/_/wordpress/ , і створили свій власний для PHP 7.3.

wordpress-4.9.8-edd-php-benchmarks– WordPress 4.9.8 + Easy Digital Downloads, продуктивність PHP

Результати тестів

  • WordPress 4.9.8 + EDD 2.9.9, PHP 5.6 продуктивність: 80,08 запит./сек.
  • WordPress 4.9.8 + EDD 2.9.9, PHP 7.0 продуктивність: 186,99 запит./сек.
  • WordPress 4.9.8 + EDD 2.9.9, PHP 7.1 продуктивність: 185.40 запит./сек.
  • WordPress 4.9.8 + EDD 2.9.9, PHP 7.2 продуктивність: 192.73 запит./сек.
  • WordPress 4.9.8 + EDD 2.9.9, PHP 7.3 продуктивність: 211,37 запит./сек.

PHP 7.3 лідирує у тестах з WordPress та Easy Digital Downloads. WordPress 4.9.8 з EDD також був трохи швидшим, ніж WordPress 5.0.

Drupal 8.6.4

Drupal – це CMS з відкритим вихідним кодом, популярна завдяки своїй модульній системі та сильній спільноті розробників. Він був запущений в 2000 році і, згідно W3Techs, використовується на 1,9% всіх веб-сайтів і займає частку 5,5% на ринку систем керування контентом.

drupal

Для тесту Drupal ми використали безкоштовну тему Bartik (8.6.4).

  • URL: /node/1
  • Примітка: сторінка містить заголовок, абзац та віджет (Пошук). Кешування сторінок відключено: https://www.drupal.org/node/2598914
  • Образ Docker взятий з https://hub.docker.com/_/drupal/ , і створили свій власний для PHP 7.3.

drupal-php-benchmarks– Drupal, продуктивність PHP

Результати тестів

  • Drupal 8.6.4, PHP 5.6 продуктивність: 14,19 запит./сек.
  • Drupal 8.6.4, PHP 7.0 продуктивність: 30,30 запит./сек.
  • Drupal 8.6.4, PHP 7.1 продуктивність: 30,42 запит./сек.
  • Drupal 8.6.4, PHP 7.2 продуктивність: 32,59 запит./сек.
  • Drupal 8.6.4, PHP 7.3 продуктивність: 35,90 запит./сек.

Під час роботи з Drupal PHP 7.3 переміг PHP 7.2 з невеликим відривом.

Joomla! 3.9.1

Joomla! це безкоштовна CMS з відкритим вихідним кодом для публікації веб-контенту, спочатку випущена 17 серпня 2005 року. Вона побудована за принципом MVC “модуль – вид – контролер. Згідно W3Techs, 3,0% веб-сайтів в Інтернеті використовують Joomla!.

joomla

Для тестування Joomla! ми використали безкоштовний шаблон Beez3.

  • URL: /index.php/3-welcome-to-your-blog
  • Примітка: встановлення в режимі блогу. Модулі Joomla, такі як Пошук, Віджет та Хлібні крихти (breadcrumb), усі відключені.
  • Образ Docker взятий з https://hub.docker.com/_/joomla/ та був створений свій власний для PHP 7.3.

joomla-php-benchmarks– Joomla!, продуктивність PHP

Результати тестів

  • Joomla! 3.9.1, PHP 5.6 продуктивність: 27,45 запит./сек.
  • Joomla! 3.9.1, PHP 7.0 продуктивність: 38,48 запит./сек.
  • Joomla! 3.9.1, PHP 7.1 продуктивність: 37,79 запит./сек.
  • Joomla! 3.9.1, PHP 7.2 продуктивність: 38,68 запит./сек.
  • Joomla! 3.9.1, PHP 7.3 продуктивність: 41,03 запит./сек.

На Joomla! бачимо, що продуктивність була невисокою порівняно з деякими іншими платформами. Тим не менш, PHP 7.3 все ще переможець.

Magento 2(CE) 2.1.15 + 2.3.0

Magento – це популярна платформа електронної комерції з відкритим вихідним кодом, написана на PHP та випущена 31 березня 2008 року. Згідно W3Techs, вона забезпечує роботу 1,0% всіх веб-сайтів в Інтернеті.

magento

Для тестування Magento 2 використовувалась безкоштовна тема Luma. Ми використовували дві версії через те, що 2.1.15 була єдиною, яка підтримувала PHP 5.6. Для додаткових випробувань ми використовували 2.3.0. Magento 2 поки що не підтримує PHP 7.3.

  • URL: /index.php/lifelong-fitness-iv.html
  • Примітка: кешування сторінок вимкнено. Протестована URL-адреса є сторінкою одного продукту. Він містить одне зображення продукту, панель навігації, навігацію по хлібних крихтах та жодних оглядів.
  • http://pubfiles.nexcess.net/magento/ce-packages/

magento-2-php-benchmarks

– Magento 2, продуктивність PHP

Результати тестів

  • Magento 2 (CE) 2.1.15, PHP 5.6 продуктивність: 7,65 запит./сек.
  • Magento 2 (CE) 2.1.15, PHP 7.0 продуктивність: 16,19 запит./сек.
  • Magento 2 (CE) 2.1.15, PHP 7.1 продуктивність: 16,38 запит./сек.
  • Magento 2 (CE) 2.3.0, PHP 7.1 продуктивність: 13,60 запит./сек.
  • Magento 2 (CE) 2.3.0, PHP 7.2 продуктивність: 14,25 запит./сек.
  • Magento 2 (CE) 2.3.0, PHP 7.3 продуктивність: не підтримується

Фактично, старіша версія, Magento 2 (CE) 2.1.15 разом з PHP 7.1 була найшвидшою.

Grav CMS 1.5.5

Grav – це проста у використанні, але потужна CMS з відкритим вихідним кодом, яка не вимагає бази даних. Її також іноді називають плоскою CMS.

grav-cms

Для тесту Grav CMS використовувався безкоштовний Clean Blog skeleton package.

  • URL: /home/the-urban-jungle
  • Примітка: контент – це простий пост у блозі одним стовпцем без бічної панелі.

grav-cms-php-benchmarks– Grav CMS, продуктивність PHP

Результати тестів

  • Grav CMS 1.5.5, PHP 5.6 продуктивність: 42,62 запит./сек.
  • Grav CMS 1.5.5, PHP 7.0 продуктивність: 64,43 запит./сек.
  • Grav CMS 1.5.5, PHP 7.1 продуктивність: 63,74 запит./сек.
  • Grav CMS 1.5.5, PHP 7.2 продуктивність: 65,26 запит./сек.
  • Grav CMS 1.5.5, PHP 7.3 продуктивність: 68,34 запит./сек.

З Grav CMS бачимо, що перемогла остання версія PHP 7.3.

October CMS 1.0.443

October CMS – це безкоштовна модульна платформа CMS з відкритим вихідним кодом, розміщена на власній платформі, що базується на Laravel PHP Framework. Спочатку його було випущено 15 травня 2014 року.

october-cms

Для тестування CMS October ми використовували безкоштовну тему Clean Blog. Важливо, що October CMS більше не сумісний із PHP 5.6. Незважаючи на те, що ми змогли обдурити установник, прибравши перевірку PHP, все одно отримали результат із кодом помилки 500 у майстрі налаштування.

  • URL: /blog/post/first-blog-post

october-cms-php-benchmarks– October CMS, продуктивність PHP

Результати тестів

  • October CMS 1.0.443, PHP 5.6 продуктивність: не підтримується
  • October CMS 1.0.443, PHP 7.0 продуктивність: 23,29 запит./сек.
  • October CMS 1.0.443, PHP 7.1 продуктивність: 22,97 запит./сек.
  • October CMS 1.0.443, PHP 7.2 продуктивність: 23,38 запит./сек.
  • October CMS 1.0.443, PHP 7.3 продуктивність: 25.58 запит./сек.

PHP 7.3 знову стає переможцем, хоч і з невеликим відривом.

Також приємно бачити, що ця невелика система керування контентом цурається підтримки старих версій PHP. Це перевага невеликих систем на відміну від WordPress або інших платформ з великою часткою ринку, у яких цей процес відбувається повільніше через проблеми сумісності.

Laravel 5.4.36+5.7.15

Laravel – дуже популярний PHP-фреймворк з відкритим вихідним кодом, що використовується для розробки веб-додатків. Він був створений Taylor Otwell та випущений у червні 2011 року.

Laravel

Для тесту Laravel ми використали просту тему HTML.

  • URL: / (homepage)
  • Пост містить назву, ім’я автора та основний контент. База даних містить 1 таблицю “posts”.
  • Таблиця містить 6 стовпців “post_title”, “post_content”, “post_author”, “creation_at” та “updated_at”.
  • Протестована URL-адреса підключена до бази даних і показує 1 повідомлення з бази даних.

laravel-5.4.36-php-benchmarks– Laravel 5.4.36, продуктивність PHP

Результати тестів

  • Laravel 5.4.36, PHP 5.6 продуктивність: 340,26 запит./сек.
  • Laravel 5.4.36, PHP 7.0 продуктивність: 610,81 запит./сек.
  • Laravel 5.4.36, PHP 7.1 продуктивність: 616,93 запит./сек.
  • Laravel 5.4.36, PHP 7.2 продуктивність: 692,86 запит./сек.
  • Laravel 5.4.36, PHP 7.3 продуктивність: 717,06 запит./сек.

PHP 7.3 – тут явний переможець. Зазначимо також зростання продуктивності двох останніх версій PHP.

Важливо відзначити, що для Laravel 5.7.15 потрібно PHP 7.1 або вище .

laravel-5.7.15-php-benchmarks– Laravel 5.7.15, продуктивність PHP

Результати тестів

  • Laravel 5.7.15, PHP 5.6 продуктивність: не підтримується
  • Laravel 5.7.15, PHP 7.0 продуктивність: не підтримується
  • Laravel 5.7.15, PHP 7.1 продуктивність: 542,16 запит./сек.
  • Laravel 5.7.15, PHP 7.2 продуктивність: 606.73 запит./сек.
  • Laravel 5.7.15, PHP 7.3 продуктивність: 621,09 запит./сек.

Знову ж таки, PHP 7.3 переміг і тут. Однак, що цікаво, Laravel 5.4.36 з PHP 7.3 виявився швидшим, ніж Laravel 5.7.15.

Symfony 3.3.6 + 4.2.0

Symfony – це набір PHP-компонентів, що повторно використовуються, і PHP-фреймворк для створення веб-додатків, API, мікросервісів і веб-сервісів. Випущено 22 жовтня 2005 р.

symfony

Для тестування Symfony ми використовували Symfony Demo із MySQL (за замовчуванням використовується SQLite). Тести були проведені кілька разів і були взяті середні значення.

  • URL: /en/blog/posts/hello-world
  • Пост містить заголовок, дату, ім’я автора, 2 теги та 5 коментарів.
  • Найраніша версія Symfony/demo, яку нам вдалося отримати – 3.3.6, але її підтримка вже не здійснюється. Ми використовували її, так як це єдиний демо-додаток Symfony, що залишився, який може працювати на PHP 5.6. Остання версія може працювати лише у версії 7.1 та вище. Результат трохи повільніший порівняно з тестом, що проводився раніше. Можливо, це пов’язано з тим, що на одній сторінці потрібно більше таблиць, ніж на головній сторінці (коментарі).

symfony-3.3.6-php-benchmarks

– Symfony 3.3.6, продуктивність PHP

Результати тестів

  • Symfony 3.3.6, PHP 5.6 продуктивність: 71,71 запит./сек.
  • Symfony 3.3.6, PHP 7.0 продуктивність: 155,08 запит./сек.
  • Symfony 3.3.6, PHP 7.1 продуктивність: 158,88 запит./сек.
  • Symfony 3.3.6, PHP 7.2 продуктивність: 169,78 запит./сек.
  • Symfony 3.3.6, PHP 7.3 продуктивність: не підтримується.

Оскільки Symfony 3.3.6 не підтримує PHP 7.3, у цьому тесті виграє PHP 7.2.

Важливо, що для Symfony 4.2.0 потрібно PHP 7.1 або вище.

symfony-4.2.0-php-benchmarks– Symfony 4.2.0, продуктивність PHP

Результати тестів

  • Symfony 4.2.0, PHP 5.6 продуктивність: не підтримуються
  • Symfony 4.2.0, PHP 7.0 продуктивність: не підтримується
  • Symfony 4.2.0, PHP 7.1 продуктивність: 123,64 запит./сек.
  • Symfony 4.2.0, PHP 7.2 продуктивність: 126,76 запит./сек.
  • Symfony 4.2.0, PHP 7.3 продуктивність: 140,09 запит./сек.

PHP 7.3 знову на висоті.

CodeIgniter 3.1.9

CodeIgniter – це потужний, але компактний PHP-фреймворк, створений для розробників, яким необхідний простий та елегантний інструментарій для створення повнофункціональних веб-додатків.

codeigniter

  • URL: / (homepage)
  • Примітка. Домашня сторінка містить контент (заголовок та основний текст), отриманий із таблиці бази даних.

codeigniter-php-benchmarks

– CodeIgniter, продуктивність PHP

Результати тестів

  • CodeIgniter 3.1.9, PHP 5.6 продуктивність: 708,31 запит./сек.
  • CodeIgniter 3.1.9, PHP 7.0 продуктивність: 855,08 запит./сек.
  • CodeIgniter 3.1.9, PHP 7.1 продуктивність: 872,79 запит./сек.
  • CodeIgniter 3.1.9, PHP 7.2 продуктивність: 883,88 запит./сек.
  • CodeIgniter 3.1.9, PHP 7.3 продуктивність: 889,67 запит./сек.

Як і у випадку з Laravel та Symfony, PHP 7.3 був найшвидшим при запуску CodeIgniter.

PyroCMS 3.5.3

PyroCMS з відкритим вихідним кодом, по суті, є розширенням Laravel, яке дозволяє швидше створювати веб-сайти та програми.

pyrocms

Для тесту PyroCMS ми використали безкоштовну стартову тему.

  • URL: /posts/welcome-to-pyrocms
  • Примітка: PyroCMS не підтримує PHP 5.6. Ми також зіткнулися з помилками при запуску, намагаючись запустити його на PHP 7.3 швидше за все, тому що він ще не підтримується. Тому ми не змогли включити PHP 7.3 у тести.

pyrocms-php-benchmarks-v1– PyroCMS, продуктивність PHP

Результати тестів

  • PyroCMS 3.5.3, PHP 5.6 продуктивність: не підтримуються
  • PyroCMS 3.5.3, PHP 7.0 продуктивність: 33,56 запит./сек.
  • PyroCMS 3.5.3, PHP 7.1 продуктивність: 34,87 запит./сек.
  • PyroCMS 3.5.3, PHP 7.2 продуктивність: 36,12 запит./сек.
  • PyroCMS 3.5.3, PHP 7.3 продуктивність: не підтримується

Через те, що PHP 7.3 ще не працює з PyroCMS, цього разу з невеликим відривом виграв PHP 7.2.

Pagekit 1.0.15

Pagekit – модульна та легка CMS з відкритим вихідним кодом, заснована YOOtheme. Вона пропонує вам інструменти для створення красивих сайтів. Була випущена навесні 2016 року.

pagekit

Для тесту Pagekit ми використовували безкоштовну тему One (за промовчанням тема Pagekit).

  • URL: /blog/1

pagekit-php-benchmarks

– Pagekit, продуктивність PHP

Результати тестів

  • Pagekit 1.0.15, PHP 5.6 продуктивність: 133,11 запит./сек.
  • Pagekit 1.0.15, PHP 7.0 продуктивність: 226,29 запит./сек.
  • Pagekit 1.0.15, PHP 7.1 продуктивність: 227,42 запит./сек.
  • Pagekit 1.0.15, PHP 7.2 продуктивність: 238,00 запит./сек.
  • Pagekit 1.0.15, PHP 7.3 продуктивність: 244,77 запит./сек.

PHP 7.3 виграв золоту медаль під час тестування з Pagekit.

Bolt CMS 3.6.3

Bolt CMS або просто Bolt є інструментом керування контентом з відкритим вихідним кодом, який прагне бути максимально простим і зрозумілим. Він заснований на компонентах Silex та Symfony, використовує Twig та SQLite, MySQL або PostgreSQL.

bolt-cms

Для тесту Bolt CMS ми використали безкоштовну тему Bolt Base 2018.

  • URL: /page/hello-world
  • Примітка. Контент, створений за допомогою вбудованого генератора довільного контенту.

bolt-cms-php-benchmarks– Bolt CMS, продуктивність PHP

Результати тестів

  • Bolt CMS 3.6.3 PHP 5.6 продуктивність: 33,01 запит./сек.
  • Bolt CMS 3.6.3, PHP 7.0 продуктивність: 75,69 запит./сек.
  • Bolt CMS 3.6.3, PHP 7.1 продуктивність: 76,02 запит./сек.
  • Bolt CMS 3.6.3, PHP 7.2 продуктивність: 77,38 запит./сек.
  • Bolt CMS 3.6.3, PHP 7.3 продуктивність: 83,81 запит./сек.

PHP 7.3 переміг під час тестування з Bolt CMS.

Anchor CMS 0.12.7

Anchor – це дуже проста у використанні та легка система з відкритим вихідним кодом для блогів, створена, щоб ви могли просто писати.

anchor-cms

Для тестування Anchor CMS ми використовували безкоштовну тему за промовчанням від Visual Idiot.

  • URL: /posts/hello-world

anchor-cms-php-benchmarks– Anchor CMS, продуктивність PHP

Результати тестів

  • Anchor CMS 0.12.7, PHP 5.6 продуктивність: 559,02 запит./сек.
  • Anchor CMS 0.12.7, PHP 7.0 продуктивність: 677,48 запит./сек.
  • Anchor CMS 0.12.7, PHP 7.1 продуктивність: 691,45 запит./сек.
  • Anchor CMS 0.12.7, PHP 7.2 продуктивність: 713,37 запит./сек.
  • Anchor CMS 0.12.7, PHP 7.3 продуктивність: 728,96 запит./сек.

PHP 7.3 взяв золото під час тестування з Anchor CMS.

Craft CMS 3.0.35

Craft CMS – це цілеспрямована система управління контентом для розробників, дизайнерів та веб-професіоналів, яка поєднує у собі гнучкість, потужність та простоту використання для клієнтів.

craft-cms

craft-cms-php-benchmarks– Craft CMS, продуктивність PHP

Результати тестів

  • Craft CMS 3.0.35, PHP 5.6 продуктивність: не підтримується
  • Craft CMS 3.0.35, PHP 7.0 продуктивність: 57,46 запит./сек.
  • Craft CMS 3.0.35, PHP 7.1 продуктивність: 58,81 запит./сек.
  • Craft CMS 3.0.35, PHP 7.2 продуктивність: 59,19 запит./сек.
  • Craft CMS 3.0.35, PHP 7.3 продуктивність: 59,64 запит./сек.

PHP 7.3 переміг під час тестування з Craft CMS.

ExpressionEngine 5.0.2

ExpressionEngine – це гнучка, багатофункціональна платформа управління контентом, яка дозволяє сотням тисяч людей та організацій по всьому світу легко керувати своїм веб-сайтом та відмінно підходить для новинних сайтів та блогів.

expressionengine

Для тесту ExpressionEngine ми використовували тему за промовчанням.

  • URL: /blog/entry/super-old-entry
  • Примітка. На сторінці є бічна панель з 3 віджетами (пошук, список категорій та посилання на RSS-канал). На сторінці також є навігаційна панель.

expressionengine-php-benchmarks– ExpressionEngine, продуктивність

Результати тестів

  • ExpressionEngine 5.0.2, PHP 5.6 продуктивність: не підтримуються
  • ExpressionEngine 5.0.2, PHP 7.0 продуктивність: 53,50 запит./сек.
  • ExpressionEngine 5.0.2, PHP 7.1 продуктивність: 53,83 запит./сек.
  • ExpressionEngine 5.0.2, PHP 7.2 продуктивність: 55,23 запит./сек.
  • ExpressionEngine 5.0.2, PHP 7.3 продуктивність: 56,15 запит./сек.

PHP 7.3 при тестуванні з ExpressionEngine показав найкращий результат.

Висновок із результатів тестування

Як видно з наведених вище тестів, PHP 7.3 лідирує у плані продуктивності на всіх платформах.

Ми протестували продуктивність 23 платформ/конфігурацій на 5 різних версіях PHP, та PHP 7.3 кращий у 20 з 20 (3 не підтримуються)!

  • PHP 7.3 був найшвидшим двигуном в 20 з 23 протестованих змін. І єдина причина чому він не переміг у всіх тестах тільки в тому, що Magento 2, Symfony 3.3.6 і PyroCMS 3.5.3 ще не повністю підтримують PHP 7.3.
  • Що стосується WordPress, PHP 7.3 був найшвидшим у всіх тестах (стандартний сайт на WordPress 4.9.8 та 5.0, WooCommerce та Easy Digital Downloads).
  • Багато результатів тестів ви можете помітити збільшення продуктивності з кожною новою версією PHP. Ось чому так важливо тестувати свій сайт, плагіни і т.д. і намагатися регулярно оновлювати свої сайти. Ваші відвідувачі та клієнти будуть вам вдячні за швидкість, на яку вони чекали!
  • Якщо ваш хостинг-провайдер не пропонує нові версії PHP, можливо, настав час подумати про переїзд.

PHP 7.3 дуже порадував нас, сподіваємось, що і вас теж!

Перекладено TutHost з оригіналу: https://kinsta.com/blog/php-benchmarks

Схожі матеріали