Агентство Kinsta 2 января 2024 года обновило данные бенчмарк-тестов популярных CMS и PHP фреймворков. При выборе движков для теста учитываются популярность, примерное количество живых сайтов, доля рынка, тенденции использования, доля в поиске (США).
Участники соревнования
На беговой дорожке рядом оказались:
👩💻 WordPress
👩💻 WooCommerce
👩💻 Laravel
👩💻 Drupal
👩💻 Joomla
👩💻 Symfony
- CodeIgniter
- Craft CMS
- OpenCart
- Statamic
- Typo3
⚠️ Все CMS и фреймворки тестировались на дефолтных настройках. Во всех подобных тестах нужно учитывать, что "тяжесть" формирования дефолтной страницы у всех движков разная: разное количество запросов в базу данных (обычно слабое место в быстродействии сайтов), разное количество различных проверок и т.д. Например в Joomla по умолчанию главная страница - это избранные материалы. Из базы данных идёт выборка материалов со статусом избранные
, происходит проверка прав доступа к материалам, а так же на странице несколько модулей со своими настройками прав доступа, времени начала и окончания публикации и т.д. С виду одинаковая страница на разных движках под капотом означает разное количество работы. Даже смена типа главной страницы на компонент "пустая страница", где нет выборки из бд, проверки прав пользователя и рендера компонента даёт прирост скорости формирования страницы.
Все движки тестировались на версиях PHP 8.1, 8.2 и 8.3. Так же некоторые на 7.4.
Также для нагрузочных тестов важен показатель RPS - requests per second. Этот показатель означает запрос к Приложению на генерацию данных без учета разного рода кэша.
🔥 Результаты тестов производительности
👩💻 Joomla
Joomla показала следующие результаты.
Тестируемая версия Joomla: 4.3.3
Тестируемый URL: главная страница
Размер: 8,111,000 байт
Результаты:
- PHP 8.1: 274 req/s
- PHP 8.2: 265 req/s.
- PHP 8.3: 341 req/s.
Таким образом Joomla "из коробки" на PHP 8.3 показала прирост производительности около 30%.
Другие движки
👩💻 Wordpress
Тестировались версии Wordpress 6.4.2 и 6.2.2. Возьмём данные по последней версии, в целом они примерно одинаковые.
Тестируемая версия Wordpress: 6.4.2
Тестируемый URL: главная страница
Размер: 84,257,000 байт
Результаты:
- PHP 7.4: 149 res/s.
- PHP 8.1: 153 req/s.
- PHP 8.2: 158 req/s.
- PHP 8.3: 169 req/s.
👩💻 Laravel
Это PHP-фреймворк, на котором обычно пишут "серьёзные" проекты.
Тестируемая версия Laravel: 10.16.1
Тестируемый URL: главная страница
Размер: 27,514,000 байт
Результаты:
- PHP 8.1: 611 req/s.
- PHP 8.2: 670 req/s.
- PHP 8.3: 925 req/s.
👩💻 Drupal
Тестируемая версия Drupal: 10.11
Тестируемый URL: главная страница
Размер: 19,102,000 байт
Результаты:
- PHP 8.1: 922 req/s.
- PHP 8.2: 941 req/s.
- PHP 8.3: 1432 req/s.
👩💻 Symfony
Также PHP-фреймворк, используемый для бэкенда сайтов и приложений.
Тестируемая версия Symfony: 6.3.0
Тестируемый URL: главная страница
Размер: 559,000 байт
Результаты:
- PHP 8.1: 931 req/s.
- PHP 8.2: 997 req/s.
- PHP 8.3: 1182 req/s.
OpenCart
Специализированный движок для создания интернет-магазинов.
Тестируемая версия OpenCart: 4.0.2.2
Тестируемый URL: главная страница
Размер: 33,014,000 байт
Результаты:
- PHP 8.1: 151 req/s.
- PHP 8.2: 154 req/s.
- PHP 8.3: 164 req/s.