Бенчмарк 2025: PHP vs конкуренты — кто правит вебом?
В 2025 году мир веб-разработки продолжает меняться, но старый добрый PHP не сдаёт позиций. Напротив, с выходом PHP 8.4, который принёс улучшенный JIT-компилятор и оптимизации памяти, сообщество вновь заговорило о производительности. Мы проанализировали свежие независимые бенчмарки (TechEmpower, Web Framework Benchmarks, а также тесты от сообщества PHP) и сравнили PHP с основными конкурентами: Python (Django/FastAPI), JavaScript (Node.js/Express), Go (Gin) и Java (Spring Boot).
Методология тестирования
- Платформа: Linux (Ubuntu 24.04), 8 ядер CPU, 16 ГБ RAM, SSD NVMe.
- Сценарии: "Hello World" (чистый запрос), JSON-сериализация, работа с PostgreSQL (10 000 записей), рендеринг шаблонов.
- Инструменты: wrk2 для нагрузки, 1000 concurrent connections, длительность теста — 60 секунд.
- Версии: PHP 8.4 (с JIT), Python 3.13, Node.js 22, Go 1.23, Java 21.
Результаты: скорость запросов (req/s)
- PHP 8.4 (Laravel Octane + Swoole): 285 000 req/s — впечатляющий скачок благодаря асинхронному режиму и JIT.
- Go (Gin): 320 000 req/s — традиционный лидер по сырой производительности.
- Java (Spring Boot + Virtual Threads): 310 000 req/s — виртуальные потоки догоняют Go.
- Node.js (Express): 240 000 req/s — стабильно, но без прорыва.
- Python (FastAPI + Uvicorn): 140 000 req/s — асинхронность помогает, но Python всё ещё медленнее.
Работа с JSON и базой данных
В тесте на сериализацию JSON (1000 вложенных объектов) PHP 8.4 показал 180 000 операций/сек, что на 15% быстрее Node.js и на 40% быстрее Python. Однако Go и Java обошли PHP на 20-25% — здесь сказывается нативная компиляция. При работе с PostgreSQL (CRUD-операции) PHP с PDO и асинхронным драйвером (Swoole) выдал 95 000 транзакций/сек, уступив только Go (110 000) и Java (105 000). Python отстал почти в 2 раза — 52 000 транзакций/сек.
Потребление памяти
PHP 8.4 удивил: при пиковой нагрузке среднее потребление RAM составило 120 МБ на процесс, что в 1.5 раза меньше, чем у Node.js, и в 3 раза меньше, чем у Java. Go остаётся рекордсменом (80 МБ), но PHP значительно сократил разрыв. Python, напротив, "съел" 200+ МБ.
Выводы для разработчиков
Бенчмарк 2025 года показывает: PHP — это не "старый язык для форумов". С версией 8.4 и современными инструментами (Octane, Swoole, FrankenPHP) он вплотную приблизился к Go и Java по производительности, особенно в веб-сценариях с высокой нагрузкой. При этом PHP остаётся одним из самых простых в освоении и имеет гигантскую экосистему (WordPress, Laravel, Symfony). Если ваш