- PVSM.RU - https://www.pvsm.ru -
В течение довольно продолжительного времени о нём не было никаких новостей, но, после долгого ожидания, PHP 7 наконец-то вышел 3 декабря 2015 года. Мы решили протестировать самые популярные CMS, основанные на PHP, чтобы проверить как они работают с PHP 7.
Это великий день для всех, кто регулярно использует PHP — для разработчиков, хостинговых компаний, и даже для конечных пользователей. Выход новой версии даст мощный импульс развитию этого популярного языка веб-разработки. И в конечном итоге это выльется в более быструю работу веб-сайтов и веб-сервисов.
Мы уделяем очень много внимания оптимизации времени загрузки веб-сайтов, и выпустили ряд руководств на тему, например: A Beginner’s Guide to Website Speed Optimization [1], Best Free Website Performance Testing Tools [2] и другие [3].
Для оценки производительности нового интерпретатора PHP мы прогнали через несколько бенчмарков ряд популярных продуктов, использующих PHP 5.6.16, PHP 7.0 и HHVM 3.10.1. Тесты проводились на «голом железе», чтобы виртуализация не повлияла на конечный результат. В сравнении участвовали:
Забегая вперёд, скажем, что HHVM победил. В нашем проекте мы не будем отказываться от политики «HHVM-прежде-всего». Так как мы ориентируемся на сайты с большим трафиком, то для нас первостепенное значение имеют лучшие технологии из всех доступных, и это явно не PHP 7. Тем не менее, мы будем предлагать новую версию в качестве резервного решения, и поэтапно полностью перейдём на него с PHP 5.6 в ближайшие недели.
Конфигурация сервера, которая использовалась для бенчмарков:
Также мы использовали MariaDB 10.1.9 для MySQL сервера и Nginx 1.9.7 для веб-сервера.
В качестве тестового сайта была выбрана главная страница свежеустановленного wptest.io. В течение минуты эту страницу одновременно нагружали 15 пользователей. Для WordPress это был единственный тест, где мы могли бы использовать HHVM’s Repo Authoritative mode [4] без трудоемкого модифицирования программного обеспечения. Это могло бы увеличить производительность, но далеко не каждый будет этим заниматься.
Здесь 15 пользователей снова в течение минуты одновременно нагружали главную страницу wptest.io.
В качестве тестового сайта мы использовали свежеустановленную CMS в стандартной конфигурации. На главную страницу были выведены 50 тизеров с демо-данными (через модуль Devel). Страницу в течение минуты одновременно нагружали 15 пользователей.
Мы получили настолько интересный результат, что после тестирования полностью удалили Drupal, установили его заново по инструкции и повторно провели все испытания. И получили аналогичные результаты!
Использовалась стандартная установка с официальными демо-данными. Нам пришлось включить внутренний кэш Magento, так как в противном случае мы получали несерьезные 5 оп/сек. Домашнюю страницу одновременно в течение минуты нагружали 15 пользователей.
Эта CMS, основанная на Laravel, дала нам возможность заодно протестировать и сам фреймворк Laravel. Во время установки мы выбрали тему Vanilla, включающую в себя систему пользователей, блог и форум. В течение минуты главную страницу одновременно нагружали 15 пользователей.
Еще одна CMS, основанная на Laravel. Мы использовали стандартную установку, добавили в блог один пост, и эту «отдельную страницу» 15 пользователей одновременно тестировали в течение одной минуты.
Мы установили доступный по умолчанию пакет фреймворка Laravel и протестировали его «приветственный экран» без каких-либо соединений с базой данных. Не забывайте, что OctoberCMS, протестированный выше, построен на базе Laravel, так что это выглядит так, словно вы добавляете дополнительные модули, да и сам HHVM забирает на себя инициативу. Мы запустили тесты на одну минуту с 10 пользователями одновременно.
При использовании команд оптимизации php artisan –force
и php artisan config:cache
результаты были в полтора раза лучше, чем представленные ниже.
Flarum — восхитительно простое программное обеспечение для создания форума. Это общий преемник esoTalk и FluxBB. Поскольку он использует сочетание фреймворков Laravel, Zend и компонентов Symfony (актуальный набор программного обеспечения в мире PHP), то мы решили, что будет интересно включить его в список.
Но похоже, что мы немного погорячились, и в этой статье для Flarum придется оставить заглушку — он не работает ни с HHVM, ни с PHP 7. На HHVM мы получаем ошибку “Fatal error: Return inside a finally block is not supported in vendor/flarum/core/src/Foundation/Application.php on line 120”
, а на PHP 7 сообщение: “Notice: Undefined property: stdClass::$data in vendor/flarum/core/src/Http/Controller/ClientView.php on line 326”
. Вдобавок возникают многочисленные ошибки JavaScript.
Представленные в диаграммах результаты говорят сами за себя. Если вы хотите включить в тест другой фреймворк или приложение, дайте нам знать! Комментарии к тестам приветствуются.
Автор: NIX Solutions
Источник [5]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/106610
Ссылки в тексте:
[1] A Beginner’s Guide to Website Speed Optimization: https://kinsta.com/learn/page-speed/
[2] Best Free Website Performance Testing Tools: https://kinsta.com/blog/best-free-website-performance-testing-tools/
[3] другие: https://kinsta.com/blog/
[4] HHVM’s Repo Authoritative mode: http://docs.hhvm.com/hhvm/advanced-usage/repo-authoritative
[5] Источник: http://habrahabr.ru/post/273365/
Нажмите здесь для печати.