PHP 7.3 был выпущен еще 6 декабря. И сейчас эта версия доступна практически на всех платформах. PHP 7.3 предлагает ряд улучшений по сравнению с предыдущими версиями, включая новый способ обработки ошибок JSON, более гибкий способ использования синтаксиса heredoc и nowdoc и улучшения хэширования паролей Argon2. Поскольку WordPress работает с PHP, полезно знать, какую версию лучше всего использовать.
Почти одновременно была выпущена официальная версия WordPress 5.0. В этом выпуске широко обсуждаемый текстовый редактор Gutenberg включен по умолчанию.
Веб-сайты, которые мы размещаем, должны быть максимально быстрыми с технической точки зрения. Это один из наших основных драйверов. Как настоящие гики, мы тоже любим фигуры. Поэтому, так же, как когда вышел PHP 7.0 , мы начали измерять разницу в скорости между 4 разными версиями PHP. А именно, PHP 5.6, 7.1, 7.2 и 7.3.
Но это не все…
Протестированы Гутенберг и классический редактор
Мы протестировали эти версии с помощью стандартного редактора Gutenberg и плагина Classis Editor, который многие пользователи WordPress установили после обновления до WordPress 5.0. Имеет ли значение установка плагина для вашей скорости, и если да, то какую версию PHP лучше всего использовать? Для этого мы использовали чистую установку WordPress версии 5.0.2, в которой было опубликовано 450 постов в блоге. Используется стандартная тема TwentyNineteen.
Мы также хотели узнать разницу в скорости, когда вы используете решение для электронной коммерции WooCommerce. Мы установили WooCommerce версии 3.5.3 на версию WordPress 5.0.2. Блог содержит более 650 продуктов и 450 постов в блоге. Эти версии также протестированы с плагином Classic Editor и без него. Была использована стандартная тема Storefront.
PHP Benchmark (2019): 5.6, 7.1, 7.2 и 7.3
Для каждого теста использовались следующие стандартные конфигурации:
- Сервер Ubuntu 16.04
- Версия WP: 5.0.2
- Версии PHP: 5.6, 7.1, 7.2, 7.3
- Кеширование: varnish отключен с использованием заголовка no-cache
- OPCache: включен в соответствии с лучшими практиками на нашей собственной платформе
- Плагины: Yoast SEO
Два теста были выполнены для конфигурации:
- webpagetest.org: 9 тестов каждый, с опцией Stop test at DOM complete и заголовком. Результатом являются время загрузки, время до первого байта и начало рендеринга. Ниже — лучше
- loader.io: 50 одновременных пользователей в течение 1 минуты, с заголовком Cache-Control: no-cache, must-revalidate. Результат — среднее время отклика с минимальным/максимальным временем отклика. Опять же, чем ниже, тем лучше
Следующие конфигурации были протестированы:
- WordPress 5.0.2
- WordPress 5.0.2 с плагином Classic Editor, версия 1.3
- WordPress 5.0.2 с WooCommerce 3.5.3
- WordPress 5.0.2 с WooCommerce 3.5.3 с плагином Classic Editor, версия 1.3
Кроме статей/продуктов, никаких дальнейших изменений в конфигурации не было.
Скорость WordPress 5.0.2
Первая протестированная конфигурация — это «чистая» установка WordPress, в которой установлены только Yoast SEO. URL-адрес блога был использован для проверки конфигурации.
Между PHP 5.6 и 7.1 мы видим небольшую разницу. PHP 7.2 уже работает немного быстрее, особенно на время до первого байта (TTFB), почти на 25%. На PHP 7.3 сайт работает быстрее всего: время загрузки на 17% быстрее, чем на 7.2, а скорость TTFB — на 44%. Как выглядят результаты для Loader.io:
Здесь мы видим похожую тенденцию. PHP 5.6 является самым медленным с временем отклика 4681 миллисекунд. PHP 7.1 теперь намного быстрее с 3414 миллисекундами, но PHP 7.3 выигрывает с 1321 миллисекундами. Сокращение времени загрузки почти на 72%.
Понятно, что в обоих тестах PHP 7.3 — самая быстрая версия PHP для запуска вашего сайта WordPress с Gutenberg и без WooCommerce. Что если мы включим классический редактор?
Скорость WordPress 5.0.2 с классическим редактором
Поскольку нас интересует, имеет ли значение расширение плагина Classic Editor (CE), мы установили его в нашей тестовой среде, очистили (OP) кэш и снова начали тестировать все версии PHP. Эти результаты выглядят так:
Мы видим, что плагин, кажется, не имеет большого влияния, за исключением PHP 5.6. С другими версиями разница не так велика, но время загрузки немного медленнее. PHP 7.3 является самым быстрым в этом тесте (более чем на 21% быстрее, чем 7.2). Это также относится и к TTFB, где различия между версиями 7.x кажутся меньше. Как насчет времени ответа?
Здесь особенно интересно видеть, что версии 7.x показывают среднее более быстрое время отклика более 30%. Различные независимые тесты были выполнены друг от друга, и эти тесты показывают одинаковые результаты каждый раз. PHP 5.6 снова далеко позади, разница во времени отклика между 5.6 и 7.3 теперь увеличилась до 77%.
Эти тесты показывают что-то интересное. При использовании PHP 7.x время отклика сайта будет меньше (чем ниже, тем лучше). TTFB становится немного выше, и во время загрузки разница невелика. Из этого теста кажется, что мы можем некоторое время продолжать работать с классическим редактором WordPress и что нам определенно не нужно переключаться на скорость. Может быть, даже лучше подождать некоторое время из-за большой разницы во времени ответа.
Мы также исследовали влияние WooCommerce на различные версии PHP и какую версию лучше всего использовать для этого. Нам также было интересно узнать, влияет ли использование классического редактора на WooCommerce, и если да, то на что оно влияет. Начнем с теста без СЕ.
Скорость WordPress 5.0.2 + WooCommerce 3.5.3
Установлена пустая конфигурация WordPress, на которой установлена WooCommerce без каких-либо дополнительных плагинов. Интернет-магазин уже заполнен 650 статьями. Которые влияют на последние версии PHP на WordPress с WooCommerce.
В то время как без плагина WooCommerce PHP 7.3 был самым быстрым во всех тестах, здесь мы видим другой результат, когда дело доходит до времени загрузки. PHP 7.1 побеждает здесь с 5.502. PHP 5.6 — самый медленный (6.291), но вскоре за ним следует PHP 7.3 (6.247).
Глядя на TTFB, мы снова видим знакомую картину. PHP 5.6 имеет высокий TTFB (0,724), PHP 7,3 — самый низкий с 0,361. Время отклика показывает сходную тенденцию:
Первое, что нас поражает, это, конечно, отсутствие данных PHP 5.6. Для теста Loader.io был использован порог ошибки 50% с таймаутом в 10 секунд. Если сервер не отвечает в течение 10 секунд с ответом, запрос отменяется. Когда это происходит более чем в 50% случаев, тест останавливается.
В этом тесте мы видим, что PHP 7.3 снова побеждает со временем отклика 4282 миллисекунды. PHP 7.1 быстрее, чем PHP 7.2 в этом тесте.
Похоже, что плагин WooCommerce хорошо реагирует на PHP 7.1. Особенно хорошо время загрузки страницы при использовании PHP 7.1. С точки зрения TTFB и времени отклика, PHP 7.3 является самым быстрым в обоих тестах.
Возможно, вы еще не захотите использовать Gutenberg для своего магазина WooCommerce. Есть ли разница в скорости?
Скорость WordPress 5.0.2 + WooCommerce 3.5.3 + Classic Editor 1.3
Как и в предыдущих тестах, мы установили плагин CE в той же установке и снова начали тестирование.
Опять же, поразительно, что между PHP 5.6 и PHP 7.3 существует небольшая разница (6 353 против 6 274). Обе версии PHP медленнее в этой конфигурации, когда дело доходит до времени загрузки страницы. PHP 7.1 и 7.2 почти идентичны, 5,950 против 5,954 соответственно. То же самое мы видим с этими версиями для TTFB, они почти равны друг другу. PHP 7,3 также выиграл здесь, с 0,384 секунды, по сравнению с самым медленным из четырех, PHP 5,6 с 0,712 секунды. Более чем на 46% медленнее. Как это выглядит для времени отклика?
Опять же, нет результатов теста для PHP 5.6 из-за слишком высокого содержания ошибок. Кажется, что при использовании этой версии WooCommerce со многими одновременными пользователями это становится очень трудно.
При использовании PHP 7.1 или PHP 7.2 время отклика снова ухудшится. Для PHP 7.1 разница самая большая с 45%. PHP 7.2 на 20% быстрее без CE-плагина. Глядя на победителя, PHP 7.3, мы видим, что время отклика остается почти таким же, 4282 миллисекунды против 4268.
Какая версия PHP самая быстрая для WordPress?
Тестовая среда состояла из установки WordPress 5.0.2. Помимо этой стандартной установки, мы также протестировали ее с последней версией WooCommerce.
Поскольку новый текстовый процессор WordPress, Gutenberg, немного неприятен, мы также протестировали конфигурации с помощью плагина Classic Editor. Это заменяет блок-редактор Гутенберга на классический редактор, он уже немного скрыт в имени 😉.
Следующая таблица дает обзор всех результатов:
WordPress + WooCommerce | WordPress + WooCommerce + CE | WordPress | Редактор WordPress + Classic | |||||||||
PHP | Время загрузки (сек.) | TTFB (сек.) | Время отклика (мс.) | Время загрузки (сек.) | TTFB (сек.) | Время отклика (мс.) | Время загрузки (сек.) | TTFB (сек.) | Время отклика (мс.) | Время загрузки (сек.) | TTFB (сек.) | Время отклика (мс.) |
5,6 | 6,291 | 0,724 | — | 6,353 | 0,712 | — | 2,062 | 0,451 | 4681 | 2,224 | 0,565 | 4322 |
7,1 | 5,502 | 0,531 | 5703 | 5,950 | 0,444 | 8312 | 2,082 | 0,496 | 3414 | 2,099 | 0,291 | 2020 |
7,2 | 5,855 | 0,413 | 6084 | 5,954 | 0,442 | 7344 | 1,893 | 0,375 | 2720 | 1,960 | 0,344 | 1905 |
7,3 | 6,247 | 0,361 | 4282 | 6,274 | 0,348 | 4268 | 1,547 | 0,211 | 1321 | 1,547 | 0,282 | 1015 |
Смелые результаты — лучшее время в категории. Это более чем понятно, чем PHP 7.3 — самая быстрая версия PHP. Другими словами, ваш сайт загружается намного быстрее при использовании этой версии PHP.
Не хотите использовать Гутенберга (пока)? Тогда используйте классический редактор. В этом случае, безусловно, разумно использовать PHP 7.3. Этот плагин наименее «обеспокоен» этим плагином и, кажется, реагирует еще быстрее без установки WooCommerce.
Послесловие
Самые важные выводы с первого взгляда:
- PHP 7.3 почти всегда самый быстрый выбор. Ваш веб-сайт все еще работает на PHP 5.6? За исключением того, что ваш сайт работает медленнее, чем необходимо, он, вероятно, также небезопасен. PHP 5.6 больше не будет получать новые обновления безопасности.
- Всегда проверяйте перед обновлением. Особенно при переходе с версии 5 на 7. Некоторые части вашего сайта могут больше не работать должным образом. Для решения этой проблемы, сначала поместите свой веб-сайт в промежуточную среду, чтобы вы могли протестировать его с новой версией, а если все работает правильно, вы можете обновиться.
- У нас доступны последние версии PHP, а также 7.3. Удалите старые версии с нашей платформы как можно скорее, чтобы максимально избежать проблем с безопасностью.
- В дополнение к PHP есть и другие факторы, которые делают ваш сайт WordPress более быстрым, почитайте их.