PHP性能测试:版本8.1、8.2和8.3的实际速度对比
PHP性能测试:版本8.1、8.2和8.3的实际速度对比
PHP是目前最常用的服务器端编程语言之一,为约76%的活跃网站提供动力。本文将对PHP 8.1、8.2和8.3版本在多个内容管理系统和框架中的实际性能进行测试和分析。
测试环境
为了保持一致性,所有测试都在以下环境中进行:
- 机器:英特尔Cascade Lake(30核CPU),主频3.10GHz,120GB内存,1TB硬盘。由谷歌云平台支持的计算优化(C2)虚拟机,在隔离容器中运行。
- 操作系统:Ubuntu 20.04.6 LTS (Focal Fossa)。
- 内容管理系统和框架:默认设置,使用DDEV v1.22.5安装在nginx-fpm上,作为基于1.22.0版映像的--webserver-type。
- PHP版本:7.4.33, 8.1.26, 8.2.13, 8.3.0
- 数据库:ddev-dbserver-mariadb-10.4
- 工具:AB – Apache HTTP服务器基准测试工具。
- 并发:15个请求同时提出。
- 请求:每节课1000次请求。
- 结果:以每秒请求次数(req/s)表示。结果越高,响应速度越快。
测试对象选择标准
在选择测试对象时,主要考虑以下几个方面:
- 受欢迎程度
- 实时网站数量
- 市场地位
- 使用趋势
- 搜索量(美国)
测试结果
WordPress
WordPress是一种开源内容管理系统,无需任何编程知识,即可轻松管理网站的重要方面。测试结果显示:
WordPress 6.4.2:
PHP 7.4:149 req/s
PHP 8.1:153 req/s
PHP 8.2:158 req/s
PHP 8.3:169 req/s
WordPress 6.2.2:
PHP 7.4:147 req/s
PHP 8.1:151 req/s
PHP 8.2:153 req/s
PHP 8.3:165 req/s
WooCommerce
WooCommerce是最常用的在线销售平台,基于WordPress构建。测试结果显示:
- WooCommerce 7.9.0:
- PHP 7.4:48 req/s
- PHP 8.1:49 req/s
- PHP 8.2:49 req/s
- PHP 8.3:58 req/s
Laravel
Laravel是一个开源PHP框架,测试结果显示:
- Laravel 10.16.1:
- PHP 8.1:611 req/s
- PHP 8.2:670 req/s
- PHP 8.3:925 req/s
Drupal
Drupal是一个功能强大、可扩展的内容管理系统。测试结果显示:
Drupal 10.1.1:
PHP 8.1:922 req/s
PHP 8.2:941 req/s
PHP 8.3:1432 req/s
Drupal 7.98:
PHP 8.1:661 req/s
PHP 8.2:753 req/s
PHP 8.3:823 req/s
Joomla
Joomla是一种流行的开源内容管理系统。测试结果显示:
- Joomla 4.3.3:
- PHP 8.1:274 req/s
- PHP 8.2:265 req/s
- PHP 8.3:341 req/s
Symfony
Symfony是一个丰富、灵活的后端框架。测试结果显示:
- Symfony 6.3.0:
- PHP 8.1:931 req/s
- PHP 8.2:997 req/s
- PHP 8.3:1182 req/s
CodeIgniter
CodeIgniter是一个PHP框架,专为需要简单工具包来创建全功能网络应用程序的开发人员而设计。测试结果显示:
- CodeIgniter 4.3.6:
- PHP 8.1:1120 req/s
- PHP 8.2:1180 req/s
- PHP 8.3:1684 req/s
Craft CMS
Craft CMS是一个开源平台,专为创建营销和电子商务网站而设计。测试结果显示:
- Craft CMS 4.4.16.1:
- PHP 8.1:358 req/s
- PHP 8.2:354 req/s
- PHP 8.3:443 req/s
OpenCart
OpenCart是一个开放源码的电子商务管理平台。测试结果显示:
- OpenCart 4.0.2.2:
- PHP 8.1:151 req/s
- PHP 8.2:154 req/s
- PHP 8.3:164 req/s
Statamic
Statamic是基于Laravel的开源内容管理系统。测试结果显示:
- Statamic 4.13.2:
- PHP 8.1:58 req/s
- PHP 8.2:64 req/s
- PHP 8.3:72 req/s
Typo3
Typo3是一个开源内容管理系统。测试结果显示:
- Typo3 12.4.4:
- PHP 8.1:509 req/s
- PHP 8.2:461 req/s
- PHP 8.3:598 req/s
PHP的发展历程
PHP于1994年由Rasmus Lerdorf创建,1995年向公众发布,因其与数据库通信的能力而广受欢迎。从那时起,PHP逐步采用面向对象编程模式,发展成为一种成熟、灵活、强大的模块化语言,其重点在于可重用性和可维护性。
PHP广泛的库和框架生态系统使其更受欢迎,也更易于开发。其结果是增强了安全性和附加功能,使PHP成为构建智能、动态和复杂网络应用程序的可靠选择。
2015年12月发布的PHP 7对性能进行了重大改进,是迄今为止速度最快、效率最高的PHP主版本。在此基础上,PHP 8.0、8.1和8.2带来了许多新功能和优化,并进一步提高了一致性和性能。
2023年11月发布的PHP 8.3引入了新函数、改进了readonly类、增加了最近添加的Randomizer类、堆栈溢出检测、提高了性能等等。
PHP的使用统计
PHP仍是网络应用程序的主要编程语言。超过76%的网站使用服务器端脚本:分布式服务器端驱动的网络应用程序(W3Techs)。
服务器端编程语言的市场地位。(W3Techs)
许多强大和高流量的网站都使用PHP,包括但不限于:
- Facebook.com
- Microsoft.com
- Wikipedia.org
- WordPress.org
- Vimeo.com
- MSN.com
- WordPress.com
- Mozilla.org
多年来,PHP凭借其强大的构造、一致性、维护性和灵活性,一直保持着领先地位。
编程语言随时间的使用情况(W3Techs)
尽管PHP的开发人员会定期推出更新和改进,但用户有时会对升级到最新版本心存疑虑。这可能是个错误。任何应用程序的最新稳定版本都是最丰富、最安全的。
当PHP 8.0发布时,社区中的许多人对升级感到不安,担心与前一个版本7.4不兼容。此外,许多网络托管服务提供商根本没有努力让他们的客户接受新版本。
PHP 7.4仍是采用最多的子版本,在40%的PHP支持的网站中都能找到它的身影。
总结
大多数经过测试的内容管理系统和框架都能在较新的PHP版本下运行得更好。在可能的情况下,选择在最新版本的技术栈中运行应用程序。
所有测试的内容管理系统和框架在PHP 7.4、8.1、8.2和8.3上的性能(以请求/秒为单位)。
PHP 8.3提供了出色的结果。除了新功能和更新外,在我们的测试中,8.3被证明是最快的测试版本,为测试的内容管理系统和框架提供了高达52.20%的性能提升。
PHP 8.3的性能比PHP 8.2有所提高(%)。
在官方迁移指南中了解如何从PHP 8.2迁移到8.3。
说到网站和应用程序的性能,一切都要从良好的托管开始。如果服务器成为瓶颈,那么即使您在应用程序优化方面投入巨资也无济于事。