[Перевод] Исчерпывающие бенчмарки PHP 5.6, 7.0, 7.1, 7.2 и HHVM (2018)

yehwezaac8ibvyccpgkb3eb8e2s.png


Каждый год мы стараемся тщательно измерять производительность разных версий PHP и HHVM на различных платформах. В этом году мы измерили четыре версии PHP и HHVM на 20 платформах/конфигурациях, включая WordPress, Drupal, Joomla!, Laravel, Symfony и многие другие. Также мы протестировали популярные решения для электронной коммерции вроде WooCommerce, Easy Digital Downloads, Magento and PrestaShop.


Мы всегда рекомендовали пользователям WordPress не пренебрегать преимуществами свежайших поддерживаемых версий PHP. Не только ради безопасности, но и ради повышения производительности. Причём речь идёт не только о WordPress, это по большей части справедливо для всех платформ. И сегодня мы продемонстрируем, как PHP 7.2 одерживает сокрушительную победу!


В этом году результаты бенчмарков очень сильно отличаются от прошлогодних, когда победителем стал HHVM. Нас впечатлило, что PHP 7.2 вырвался в лидеры по скорости работы. Нужно отметить, что применительно к WordPress HHVM больше не поддерживается и будет постепенно сходить со сцены. Мы больше не рекомендуем своим клиентам переходить на HHVM и отмечаем, что его поддержка другими платформами также снизилась.


Это хорошие новости для разработчиков и конечных пользователей, поскольку теперь можно сосредоточиться на PHP и создавать более быстрые сайты и веб-сервисы.


Мы протестировали 20+ платформ/конфигураций с пятью разными движками, и PHP 7.2 завоевал золотую медаль с результатом 14/20!


Бенчмарки PHP и HHVM (2018)


Для каждого теста мы брали последнюю версию каждой платформы и в течение минуты измеряли работу главной страницы с 15 одновременными пользователями. Тестовый стенд:


  • Машина: 8x Intel® Xeon® CPU, 2,20 ГГц (работала в Google Cloud Platform и исполнялась в изолированном контейнере)
  • ОС: Ubuntu 16.04.3 LTS
  • Стек Docker: Debian 8, Nginx 1.13.8, MariaDB 10.1.31
  • Движки PHP: 5.6, 7.0, 7.1, 7.2
  • HHVM: 3.24.2
  • OPCache: для WordPress, Joomla и Drupal мы использовали официальный образ Docker. Для остальных — тот же образ с включённым OPCache и рекомендованными настройками php.ini.


opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1


Тесты выполнял Торик Фирдаус (Thoriq Firdaus), один из разработчиков WordPress и инженер поддержки в Kinsta. Торик участвовал в создании WordPress Core и редактора локализации WordPress для Индонезии.


Что такое PHP?


PHP — это гипертекстовый препроцессор. Сегодня это один из самых популярных скриптовых языков в сети. Согласно W3Techs, PHP применяется на 83% сайтов, использующих языки программирования на стороне сервера.


Что такое HHVM?


Из-за проблем с производительностью PHP команда Facebook разработала HipHop Virtual Machine (HHVM). Это система, использующая JIT-компиляцию (just-in-time) для преобразования PHP-кода в машинный код ради синергии PHP и железа, на котором этот код исполняется.


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


Мы протестировали 20 платформ/конфигураций. В некоторых случаях из-за отсутствия поддержки конкретной версии PHP пришлось протестировать по несколько версий. Все измерения — количество запросов в секунду. Чем больше значения, тем лучше.


  • WordPress 4.9.4
  • WordPress 4.9.4 + WooCommerce 3.3.1
  • WordPress 4.94 + Easy Digital Downloads 2.8.18
  • Drupal 8.4.4
  • Joomla! 3.8.5
  • Magento 2 (CE) 2.1.11 + 2.2.2
  • Grav CMS 1.3.10
  • October CMS 1.0.433
  • Laravel 5.4.36 + 5.6
  • Symfony 3.3.6 + 4.0.1
  • PyroCMS 3.4.14
  • Pagekit 1.0.13
  • Bolt CMS 3.4.8
  • AnchorCMS 0.12.6 (pre-release)
  • PrestaShop 1.7.2.4
  • CraftCMS 2.6.3011
  • ForkCMS 5.2.2


WordPress 4.9.4


Первой протестированной платформой стал, конечно же, наш любимый WordPress (возможно, мы немного предвзяты, поскольку ежедневно живём этой CMS). По сути, WordPress — ПО с открытым исходным кодом, которое можно использовать для создания прекрасных сайтов, блогов или приложений. Сегодня на WordPress приходится около 29% всех сайтов в интернете, то есть более четверти.


ejdpnkjtlmqh4nkpydduze02ynw.png


Для измерения производительности WordPress мы использовали бесплатную тему Twenty Seventeen. Для заполнения взяли фальшивый контент из wptest.io и в течение минуты тестировали главную страницу, которую одновременно просматривают 15 пользователей.


  • Количество публикаций на странице: 10, сгенерированы wptest.io.
  • На боковой панели (Sidebar) есть только поиск.
  • Образ Docker взят из https://hub.docker.com/_/wordpress/


    fj7ivgasqj4zs52kfdzfopxe4iq.png
    WordPress benchmarks



Результаты бенчмарков


  • WordPress 4.9.4 PHP 5.6: 49,18 запроса в секунду
  • WordPress 4.9.4 PHP 7.0: 133,55 запроса в секунду
  • WordPress 4.9.4 PHP 7.1: 134,24 запроса в секунду
  • WordPress 4.9.4 PHP 7.2: 148,8 запроса в секунду
  • WordPress 4.9.4 HHVM: 144,76 запроса в секунду


Победил PHP 7.2, он оказался чуть быстрее HHVM. Это важная перемена по сравнению с бенчмарками 2016 года, когда однозначным победителем был HHVM. Кроме того, PHP для WordPress работает гораздо стабильнее. Мы сами сталкивались с многочисленными проблемами при эксплуатации HHVM. А если сравнить PHP 7.2 с PHP 5.6, то разница в производительности оказывается трёхкратной!


WordPress 4.9.4 + WooCommerce 3.3.1


WooCommerce — полностью кастомизируемая open-source платформа на основе WordPress. К тому же это одно из самых популярных решений для электронной коммерции, на нём работает свыше 42% всех коммерческих сайтов.


sflxxxaprmwagng1mub3wovjfss.png


Для этого теста мы взяли WordPress с установленным WooCommerce и бесплатной темой Storefront eCommerce.


  • Количество товаров: 8 (по два в ряд).
  • Страница магазина задана в качестве главной.
  • Образ Docker взят из https://hub.docker.com/_/wordpress/


    1svi1v9zjxtitj2jnehg56mhpzo.png
    WordPress + WooCommerce



Результаты бенчмарков


  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 5.6: 34,47 запроса в секунду
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.0: 84,89 запроса в секунду
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.1: 86,04 запроса в секунду
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.2: 92,6 запроса в секунду
  • WordPress 4.9.4 + WooCommerce 3.3.1 HHVM: 69,58 запроса в секунду


WooCommerce с трудом работал с HHVM, а PHP 7.2 победил PHP 7.1 с небольшим преимуществом.


WordPress 4.9.4 + Easy Digital Downloads 2.8.18


Easy Digital Downloads (EDD) создал Пипин Уильямсон (Pippin Williamson). Это бесплатный WordPress-плагин, помогающий авторам и разработчикам продавать цифровые продукты.


lchqxqi9in5hef49n-ebaennnis.png


Посмотрев, как работает WooCommerce, мы протестировали WordPress с одним лишь установленным Easy Digital Downloads. Использовалась бесплатная тема EDD Starter Theme.


  • Количество товаров: 6 (товары по умолчанию из самого плагина).
  • Две картинки в списке продуктов отсутствуют.
  • Образ Docker взят из https://hub.docker.com/_/wordpress/


    mrxdqrh0b6eomndfjlntpnb9qh4.png
    WordPress + Easy Digital Downloads



Результаты бенчмарков


  • WordPress 4.9.4 + EDD 2.8.18 PHP 5.6: 76,71 запроса в секунду
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.0: 123,83 запроса в секунду
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.1: 124,82 запроса в секунду
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.2: 135,74 запроса в секунду
  • WordPress 4.9.4 + EDD 2.8.18 HHVM: 127,74 запроса в секунду


PHP 7.2 доминирует.


Drupal 8.4.4


Drupal — open-source CMS, заслужившая популярность благодаря модульной системе и сильному сообществу разработчиков. Она появилась в 2000-м и, согласно W3Techs, используется примерно на 2,2% всех сайтов, занимая 4,4% рынка CMS.


axcsguyrng8wqii-0bysmj0ln6g.png


Мы использовали бесплатную тему Bartik 8.4.4. Отметим, что Drupal 8.4.x несовместима с PHP 7.2 (#2932574), поэтому движок мы не тестировали.


  • Количество публикаций: 10, сгенерированы модулем Devel.
  • Кеширование страницы выключено: https://www.drupal.org/node/2598914
  • Образ Docker взят из https://hub.docker.com/_/drupal/


ujnhkj8syapjnzzaotfzdhm9cuy.png
Drupal


Результаты бенчмарков


  • Drupal 8.4.4 PHP 5.6: 7,05 запроса в секунду
  • Drupal 8.4.4 PHP 7.0: 15,94 запроса в секунду
  • Drupal 8.4.4 PHP 7.1: 19,15 запроса в секунду
  • Drupal 8.4.4 PHP 7.2: не поддерживается
  • Drupal 8.4.4 HHVM: 19,57 запроса в секунду


Поскольку последняя версия Drupal не поддерживает PHP 7.2, победителем стал HHVM. Хотя если посмотреть на улучшения производительности в предыдущих версиях PHP, то можно смело предположить, что 7.2 работал бы ещё быстрее.


Joomla! 3.8.5


Joomla! — бесплатная CMS с открытым исходным кодом для публикации контента. Она впервые вышла в августе 2005-го. Joomla! построена на основе фреймворка для веб-приложений по схеме «модель-представление-контроллер» и, согласно W3Techs, используется на 3,1% всех сайтов в интернете.


z5pm2kpkt5t6gg2kqcdus-_uuig.png


Для тестирования Joomla мы использовали бесплатный шаблон Beez3.


  • Количество публикаций: 4 (добавленные при установке образцы публикаций по умолчанию)
  • Панели по умолчанию не использованы.
  • Образ Docker взят из https://hub.docker.com/_/joomla/


cbqt006tgfaenyos-3n-lrmiubw.png
Joomla!


Результаты бенчмарков


  • Joomla! 3.8.5 PHP 5.6: 26,42 запроса в секунду
  • Joomla! 3.8.5 PHP 7.0: 41,46 запроса в секунду
  • Joomla! 3.8.5 PHP 7.1: 41,17 запроса в секунду
  • Joomla! 3.8.5 PHP 7.2: 42,36 запроса в секунду
  • Joomla! 3.8.5 HHVM: 51,84 запроса в секунду


На примере Joomla мы видим стабильный рост производительности PHP от версии к версии. Но HHVM всё ещё лидирует.


Magento 2 (CE) 2.1.11 + 2.2.2


Magento — популярная open-source платформа, написанная на PHP. Она появилась в марте 2008-го. Согласно W3Techs, Magento работает на 1,2% всех сайтов.


vgo8k4u-l0j8spt1pmupnkjj9tk.png


Для тестирования Magento 2 benchmark мы использовали бесплатную тему Luma. Поскольку PHP 5.6 поддерживался только версией 2.1.11, нам пришлось прогонять бенчмарки на двух версиях Magento. Мы установили её с образцами данных и темой, идущими в комплекте. Для дополнительного тестирования использовали версию 2.2.2. Magento 2 пока не поддерживает PHP 7.2 и последнюю версию HHVM.


  • Количество позиций: 7
  • http://pubfiles.nexcess.net/magento/ce-packages/


ecpfntyyofbry-3fev0tjtfcgag.png
Magento 2


Результаты бенчмарков


  • Magento 2 (CE) 2.1.11 PHP 5.6: 10,75 запроса в секунду
  • Magento 2 (CE) 2.1.11 PHP 7.0: 20,87 запроса в секунду
  • Magento 2 (CE) 2.1.11 PHP 7.1: 29,84 запроса в секунду
  • Magento 2 (CE) 2.1.11 PHP 7.2: не поддерживается
  • Magento 2 (CE) 2.1.11 HHVM: не поддерживается


Поскольку Magento 2 не поддерживает PHP 7.2 и последнюю версию HHVM, победителем стал PHP 7.1. Впечатляет рост производительности от версии к версии.


Grav CMS 1.3.10


Grav — простая, но мощная open-source CMS, которой не требуется база данных. Её ещё иногда называют «CMS на основе неструктурированных файлов (flat-file)».


rnhx9zdu-5lz9qbc15jgr_xowls.png


Мы использовали бесплатный пакет Clean Blog. Обратите внимание, Grav CMS больше не совместима с компилятором HHVM, а из сборки Travis удалена среда HHVM.


  • Количество публикаций: 4 (предустановленные образцы в Clean Blog)
  • Выключено кеширование страниц и файлов https://learn.getgrav.org/advanced/performance-and-caching, кеширование Twig работает.


    qm7qv-xhfcphkoo5fl3cxot0lwc.png
    Grav CMS



Результаты бенчмарков


  • Grav CMS 1.3.10 PHP 5.6: 34,83 запроса в секунду
  • Grav CMS 1.3.10 PHP 7.0: 53,37 запроса в секунду
  • Grav CMS 1.3.10 PHP 7.1: 53,37 запроса в секунду
  • Grav CMS 1.3.10 PHP 7.2: 55,12 запроса в секунду
  • Grav CMS 1.3.10 HHVM: не поддерживается


PHP 7.2 снова одержал убедительную победу.


October CMS 1.0.433


October CMS — бесплатная open-source модульная CMS-платформа с собственным сервером, построенная на базе PHP-фреймворка Laravel. Впервые она вышла в мае 2014-го.


z91xwouywdfcon80vjkkqhr4ptk.png


Мы использовали бесплатную тему Clean Blog. October CMS больше не совместима с PHP 5.6 и HHVM. И хотя мы cмогли обмануть инсталлятор, убрав проверку PHP, мастер конфигурирования вылетел с ошибкой 500.


  • Количество публикаций: 5 с двумя панелями слева (Recent posts и Follow me)


    m9nzctrnitm5t8utw8jgfx2mnnw.png
    October CMS



Результаты бенчмарков


  • October CMS 1.0.433 PHP 5.6: не поддерживается
  • October CMS 1.0.433 PHP 7.0: 43,83 запроса в секунду
  • October CMS 1.0.433 PHP 7.1: 47,95 запроса в секунду
  • October CMS 1.0.433 PHP 7.2: 48,87 запроса в секунду
  • October CMS 1.0.433 HHVM: не поддерживается


Два движка не поддерживаются, однако PHP 7.2 снова победил.


Приятно, что все эти не столь крупные CMS отказываются от поддержки старых версий PHP. Это одно из преимуществ, свойственных не слишком большим продуктам. К сожалению, когда речь заходит о WordPress и прочих платформах с большими долями рынка, прогресс замедляется из-за соображений обратной совместимости.


Laravel 5.4.36 + 5.6


Laravel — очень популярный open-source PHP-фреймворк, использующийся для создания веб-приложений. Он был разработан Тейлором Отвеллом (Taylor Otwell) и выпущен в июне 2011-го.


sedpmwhkfzbjkepab5ugwz8ydb4.png


В этом тестировании мы использовали чистую HTML-тему. Тесты были прогнаны несколько раз, взято среднеарифметическое. Подробности можно найти здесь.


  • Количество публикаций: 10, с циклом Blade
  • База данных содержит одну таблицу posts
  • Таблица содержит шесть колонок post_title, post_content, post_author, created_at и updated_at.
  • Сессии отключены.
  • Перед бенчмарками выполнены команды composer dump-autoload –classmap-authoritative, php artisan optimize –force, php artisan config: cache, php artisan route: cache.


    p9ictkmpslqv75hveqlauu5ksyg.png
    Laravel 5.4.36



Результаты бенчмарков


  • Laravel 5.4.36 PHP 5.6: 66,57 запроса в секунду
  • Laravel 5.4.36 PHP 7.0: 114,55 запроса в секунду
  • Laravel 5.4.36 PHP 7.1: 113,26 запроса в секунду
  • Laravel 5.4.36 PHP 7.2: 114,04 запроса в секунду
  • Laravel 5.4.36 HHVM: 394,31 запроса в секунду


HHVM — несомненный победитель.


Laravel 5.6 несовместим с HHVM и требует PHP 7.1 или выше.


tujyk_l6h3iqengcyw1xje_6g0a.png
Laravel 5.6


Результаты бенчмарков


  • Laravel 5.6 PHP 5.6: не поддерживается
  • Laravel 5.6 PHP 7.0: не поддерживается
  • Laravel 5.6 PHP 7.1: 411,39 запроса в секунду
  • Laravel 5.6 PHP 7.2: 442,17 запроса в секунду
  • Laravel 5.6 HHVM: не поддерживается


Поразительная разница между результатами Laravel 5.6 PHP 7.2 и Laravel 5.4.36! Последние версии PHP явно пошли на пользу Laravel.


Symfony 3.3.6 + 4.0.1


Symfony — это набор многократно используемых PHP-компонентов и PHP-фреймворк для создания веб-приложений, API, микросервисов и веб-сервисов. Он вышел в октябре 2005-го.


kwxmlmk6wsfvwags-aekvl-ziiq.png


Здесь мы использовали Symfony Demo с MySQL (по умолчанию используется SQLite). Тесты проведены несколько раз, взято среднеарифметическое. HHVM выкидывал ошибку 500. Подробности можно почитать здесь.


  • Количество публикаций: 10
  • Тестовый URL: /en/blog/
  • composer dump-autoload -o, php bin/console doctrine: database: create, php bin/console doctrine: schema: create, php bin/console doctrine: fixtures: load, php bin/console cache: clear –no-warmup –env=prod
  • В основном файле (app.php) отключено кеширование (AppCache).


    _hybwfcnkmutte4dyp70l7cwyc8.png
    Symfony 3.3.6



Результаты бенчмарков


  • Symfony 3.3.6 PHP 5.6: 81,78 запроса в секунду
  • Symfony 3.3.6 PHP 7.0: 184,15 запроса в секунду
  • Symfony 3.3.6 PHP 7.1: 187,6 запроса в секунду
  • Symfony 3.3.6 PHP 7.2: 196,94 запроса в секунду
  • Symfony 3.3.6 HHVM: не поддерживается


PHP 7.2 снова победил!


Symfony 4.0.1 требуется PHP 7.1 или выше. И снова HHVM выкидывал ошибку 500.


  • В версии 4.0.1 в основном файле (index.php) не реализован AppCache.


    aekcwueqpyiiqwhbn4vokaeehwy.png
    Symfony 4.0.1



Результаты бенчмарков


  • Symfony 4.0.1 PHP 5.6: не поддерживается
  • Symfony 4.0.1 PHP 7.0: не поддерживается
  • Symfony 4.0.1 PHP 7.1: 188,12 запроса в секунду
  • Symfony 4.0.1 PHP 7.2: 197,17 запроса в секунду
  • Symfony 4.0.1 HHVM: не поддерживается


PHP 7.2 опять царь горы.


PyroCMS 3.4.14


PyroCMS — open-source расширение для Laravel, ускоряющее создание сайтов и приложений с помощью этого фреймворка.


aah_yzxesx7lbtnviallqqqb-0i.png


Мы использовали бесплатную тему Accelerant Theme (идёт по умолчанию в PyroCMS). PyroCMS не работает в HHVM, вероятно, из-за Laravel.


  • Количество публикаций: 5
  • Включён режим отладки (APP_DEBUG=true)


    ypphhqmaqb4ao9dby_ufoy-kmrk.png
    PyroCMS



Результаты бенчмарков


  • PyroCMS 3.4.14 PHP 5.6: не поддерживается
  • PyroCMS 3.4.14 PHP 7.0: 27,33 запроса в секунду
  • PyroCMS 3.4.14 PHP 7.1: 27,81 запроса в секунду
  • PyroCMS 3.4.14 PHP 7.2: 29,28 запроса в секунду
  • PyroCMS 3.4.14 HHVM: не поддерживается


Результаты близки к PyroCMS, но PHP 7.2 опять был лучшим.


Pagekit 1.0.13


Pagekit — лёгкая модульная open-source CMS, позволяющая создавать прекрасные сайты. Она вышла весной 2016-го.


3f2sd5gkxggocp1zqybo3olhqrs.png


Мы использовали бесплатную тему One (идёт в Pagekit по умолчанию).


  • Количество публикаций: 5
  • Кеш отключён
  • Тестовый URL: /blog


    19t_-ddvafrlmh3ntr_4mvxbliq.png
    Pagekit



Результаты бенчмарков


  • Pagekit 1.0.13 PHP 5.6: 51,7 запроса в секунду
  • Pagekit 1.0.13 PHP 7.0: 108,61 запроса в секунду
  • Pagekit 1.0.13 PHP 7.1: 112,3 запроса в секунду
  • Pagekit 1.0.13 PHP 7.2: 116,18 запроса в секунду
  • Pagekit 1.0.13 HHVM: 61,16 запроса в секунду


Pagekit с трудом работал с HHVM. PHP 7.2 — безусловный победитель.


Bolt CMS 3.4.8


Bolt — это open-source инструмент управления контентом, который авторы стараются сделать как можно проще. Он построен на основе компонентов Silex и Symfony, использует Twig, а также SQLite, MySQL или PostgreSQL.


wfuqrw6468nwrsnmjmidrmh3yii.png


Мы использовали бесплатную тему Bolt Base 2016. HHVM не поддерживается (#6921).


  • Количество публикаций: 5
  • Тестовый URL: /entries
  • Сессии включены


    dbhgjazpuu2wxzuxaqwy9l1sdse.png
    Bolt CMS



Результаты бенчмарков


  • Bolt CMS 3.4.8 PHP 5.6: 33,45 запроса в секунду
  • Bolt CMS 3.4.8 PHP 7.0: 60,21 запроса в секунду
  • Bolt CMS 3.4.8 PHP 7.1: 67,96 запроса в секунду
  • Bolt CMS 3.4.8 PHP 7.2: 72,05 запроса в секунду
  • Bolt CMS 3.4.8 HHVM: не поддерживается


Хорошо видно, что с каждой новой версией PHP производительность Bolt CMS растёт.


Anchor CMS 0.12.6 (pre-release)


Anchor — очень простая и компактная open-source система для ведения блогов.


uzj3yybc10fx45w1ux4bpscae7s.png


Мы использовали бесплатную тему Default Theme.


  • Количество публикаций: 5


    ogyqg70odskko93kmgyppudclhi.png
    Anchor CMS



Результаты бенчмарков


  • Anchor CMS 0.12.6 PHP 5.6: 495,33 запроса в секунду
  • Anchor CMS 0.12.6 PHP 7.0: 546,02 запроса в секунду
  • Anchor CMS 0.12.6 PHP 7.1: 565 запросов в секунду
  • Anchor CMS 0.12.6 PHP 7.2: 561,73 запроса в секунду
  • Anchor CMS 0.12.6 HHVM: 487,71 запроса в секунду


Результаты PHP 7.1 и PHP 7.2 очень близки, но PHP 7.1 оказался чуть быстрее.


PrestaShop 1.7.2.4


PrestaShop — популярное и очень быстро развивающееся open-source решение для интернет-магазинов. Первая версия вышла в 2008-м, и, согласно W3Techs, PrestaShop используется на 0,6% всех сайтов.


0y4m746dfx7y3pcl3jnimlul0eo.png


Мы взяли бесплатную тему Classic Theme. PrestaShop не поддерживает HHVM.


  • Количество товаров: 7 (примеры по умолчанию)
  • Тестовый URL: /index.php
  • Кеширование страниц отключено, умное кеширование включено


    skbcrlrco7sqyy5wlw73dtdkgbi.png
    PrestaShop



Результаты бенчмарков


  • Prestashop 1.7.2.4 PHP 5.6: 61,96 запроса в секунду
  • Prestashop 1.7.2.4 PHP 7.0: 108,34 запроса в секунду
  • Prestashop 1.7.2.4 PHP 7.1: 111,38 запроса в секунду
  • Prestashop 1.7.2.4 PHP 7.2: 111,48 запроса в секунду
  • Prestashop 1.7.2.4 HHVM: не поддерживается


Результаты почти одинаковые, но PHP 7.2 на полноздри вырвался вперёд.


Craft CMS 2.6.3011


Craft CMS — продукт для разработчиков, дизайнеров и веб-специалистов, отличающийся гибкостью применения, широкими возможностями и простой использования.


ocw418s8blbmgp0igcioumbfcry.png


Мы взяли бесплатную тему по умолчанию.


  • Количество публикаций: 5
  • Тестовый URL: /index.php? p=news
  • CraftCMS поставляется с собственным файлом Docker. Мы немножко настроили его ради совместимости с Nginx.


    ipqhz8t0hdpaexzwn2itkz949v0.png
    Craft CMS



Результаты бенчмарков


  • Craft CMS 2.6.3011 PHP 5.6: 131,04 запроса в секунду
  • Craft CMS 2.6.3011 PHP 7.0: 266,54 запроса в секунду
  • Craft CMS 2.6.3011 PHP 7.1: 272,14 запроса в секунду
  • Craft CMS 2.6.3011 PHP 7.2: 280,02 запроса в секунду
  • Craft CMS 2.6.3011 HHVM: 26,28 запроса в секунду


Craft CMS плохо работает с HHVM. Но зато PHP 7.2 опять на коне!


Fork CMS 5.2.2


Fork — простая open-source CMS, в которой применяются компоненты Symfony. Здесь мы использовали бесплатную тему, идущую по умолчанию, Fork Theme. Fork CMS требуется PHP 7.1 или выше, она не поддерживает HHVM.


  • Количество публикаций: 2 (идущие по умолчанию данные из ForkCMS)
  • Тестовый URL: /modules/blog


    azjxzfufzazbtlnqnaasic7x1wc.png
    Fork CMS



Результаты бенчмарков


  • Fork CMS 5.2.2 PHP 5.6: не поддерживается
  • Fork CMS 5.2.2 PHP 7.0: не поддерживается
  • Fork CMS 5.2.2 PHP 7.1: 10,68 запроса в секунду
  • Fork CMS 5.2.2 PHP 7.2: 12,83 запроса в секунду
  • Fork CMS 5.2.2 HHVM: не поддерживается


PHP 7.2 превзошёл по производительности PHP 7.1.


Мы в Kinsta перешли на PHP 7.2


Если эти результаты вас не убедили, то мы уж и не знаем, что вас вообще убедит. Просто дружеское напоминание, если вы клиент Kinsta: мы выпустили PHP 7.2 в декабре 2017-го. Если вам нужно увеличить производительность, можете легко перейти на PHP 7.2 одним кликом в панели MyKinsta.


tbr3ww_y8uuavexa39usk_jgjk8.png


Если вас беспокоит несовместимость со сторонними плагинами (это возможно), то именно для этого нужны площадки для стейджинга. Можете потестировать без риска для вашего production-сайта.


Впечатления от результатов бенчмарков


Как видите, PHP 7.2 по производительности лидирует на всех платформах.


  • PHP 7.2 оказался самым быстрым движком в 14 из 20 конфигураций. Ещё две конфигурации (Drupal и Magento) пока не поддерживают PHP 7.2, так что результат вполне мог быть 16/20.
  • Применительно к WordPress PHP 7.2 был самым быстрым во всех тестах (стоковый сайт WordPress, WooCommerce и Easy Digital Downloads).
  • На примере многих результатов можно отметить рост производительности PHP от версии к версии. Поэтому так важно тестировать свой сайт, плагины и прочее и регулярно обновлять движок. Это пойдёт на пользу вашим посетителям и клиентам!
  • Если ваш хостинг-провайдер не предлагает новые версии PHP, возможно, пора переезжать.

© Habrahabr.ru