Семён Алексин

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

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

3015

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

Для сравнения быстродействия были установлены четыре клиента, отсылающие одновременно 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. Следующие графики визуализируют эти данные:

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

 

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

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

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

 

На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.

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

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

Выводы

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

 

3015