Проведено сравнение производительности WordPress-проекта на PHP и на .NET — Peachpie

Компания Peachpie, занимающаяся разработкой инструмента для переноса PHP на .NET, сравнила производительность чистого PHP и своей технологии. Оказалось, что на .NET WP-сайты работают гораздо быстрее.

Результаты тестирования

Для сравнения быстродействия были установлены четыре клиента, отсылающие одновременно 128 запросов на главную страницу сайта. При этом использовалась WordPress 4.7, MySQL и две платформы: .NET Core 2.0 и Apache с PHP 7.2.

Из полученных данных выясняется, что на весь тест Peachpie потратил всего 7,7 секунд, в то время как у PHP на это ушло целых 11,7 секунд. Общее значение быстродействия у Peachpie составило 833,34 кбит/с, а у PHP — 593,94 кбит/с. Два значения, играющие основную роль в исследовании — это requests per second и time per request — сколько запросов обработал сервер за секунду, и сколько времени у него ушло на один запрос. Как оказалось, Peachpie смог обработать примерно 16 запросов за одну секунду, против 11 запросов у PHP. А 60,414 мс потраченного в среднем на один запрос времени у .NET превосходит 84,992 мс/запрос у Apache. Следующие графики визуализируют эти данные:

График №1 - количество запросов

Результаты тестирования (количество запросов)

 

График №2 - время на обработку запроса

Результаты первого теста (время на обработку запроса)

Следуя информации, полученной на графиках, Peachpie обрабатывает на 40 % больше запросов в секунду, да и делает это на 40 % быстрее, чем PHP. Но и это не окончательный результат, ведь исследователи не брали в расчет оптимизацию кода и тому подобные детали. Для полноты картины рассмотрим также различные типы страниц в WordPress и различные уровни параллелизма, используя те же методы:

График скорости работы при запросах к главной странице сайта

Запросы к главной странице

 

График скорости работы при запросах к посту в блоге

Запросы к посту в блоге

Как видно из графиков, Peachpie работает быстрее Apache, причем с уменьшением параллелизма возрастает разница в производительности. Так, при одном пользователе .NET работает почти в два раза быстрее.

Мы не считаем себя экспертами в проведении бенчмарков, и в наших методах могут быть изъяны. Тестирование проводилось исключительно на платформе Windows, а не на каких-нибудь особенных дистрибутивах Linux с особенным ПО. К тому же, мы не настраивали PHP и не устанавливали opcache. Настроенный PHP будет работать гораздо быстрее, чем тот, что в примере. Однако, мы и не оптимизировали наш код на Peachpie.

Jakub Míšek, один из разработчиков Peachpie

Выводы

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

 

Источник: блог Peachpie