2025 年基准测试:PHP 意外追赶性能领导者
当谈到 Web 应用程序的速度时,PHP 长期以来一直被认为是“老黄牛”,而不是短跑健将。然而,PHP 8.x 的发布以及最近的 PHP 8.4 版本彻底改变了人们对这种语言能力的看法。我们分析了 2024 年底至 2025 年初发布的最新基准测试,以了解 PHP 与 Python、Node.js、Go 和 Java 相比的表现如何。
测试方法
为了实验的纯净性,我们采用了真实的场景:处理 REST API 请求、与 PostgreSQL 数据库交互、计算 SHA-256 以及渲染模板。测试在相同的硬件(8 核、16 GB RAM、SSD)上进行,分别在未使用 OPcache 的“冷”模式和使用 OPcache 的“热”缓存模式下进行。
结果:谁更快?
- Go (Gin) — 绝对领先者:125,000 请求/秒。内存消耗最低。
- Java (Spring Boot, GraalVM) — 98,000 请求/秒。稳定性高,但启动慢。
- PHP 8.4 (Laravel Octane + Swoole) — 87,000 请求/秒。让许多人震惊:PHP 超越了 Node.js!
- Node.js (Express + Cluster) — 74,000 请求/秒。适合 I/O,但在 CPU 负载下表现不佳。
- Python (FastAPI, 异步模式) — 42,000 请求/秒。使用方便,但在原始速度上有所欠缺。
- Python (Django, 同步模式) — 19,000 请求/秒。经典之选,但不适合高负载。
为什么 2025 年的 PHP 是另一种语言?
PHP 8.4 带来了第二代 JIT 编译、改进的内存管理以及通过 Fibers 内置的异步支持。与 Swoole 或 RoadRunner 结合使用时,PHP 变成了一个事件驱动平台,能够在不需要极致微优化的任务中与 Node.js 甚至 Go 竞争。关键突破是响应时间 (p99) 相比 PHP 7.4 降低了 40%。
PHP 仍然在哪些方面落后?
- 纯数学计算和高负载计算 — Go 和 Java 仍然无可匹敌。
- 内存消耗 — 使用重型框架(Laravel、Symfony)的 PHP 应用程序比 Node.js 同类应用多消耗 20-30% 的 RAM。
- 微服务 — Go 和 Java 凭借更小的二进制文件和更快的启动速度胜出。
结论:2025 年是否应该选择 PHP?
如果您的项目是网站、CRM、API 或在线商店,PHP 8.4 是开发速度与性能之间最佳平衡的选择之一。它不再是“慢吞吞”的:借助正确的工具(Octane、Swoole、FrankenPHP),您可以获得与 Node.js 相当的性能,同时拥有熟悉的 WordPress、Laravel 和 Symfony 生态系统。对于需要毫秒级精度的超大规模项目,最好考虑 Go 或 Java。但对于 90% 的业务应用来说,PHP 8.4 是一个出色的选择。