LaravelPHP / Laravel / 全栈PHP开发者大本营

PHP 5.6,7.0,7.1,7.2 和 HHVM 运行效率比

2018-03-13  本文已影响104人  summerbluet
image.png

我们每年都会尝试深入了解不同版本的 PHP 和 HHVM 在各种平台的性能基准。 今年,我们全面对 20 种不同平台/配置中的四种不同的 PHP 引擎和 HHVM 进行了基准测试; 包括 WordPress,Drupal,Joomla!,Laravel,Symfony 等。 我们还测试了流行的电子商务解决方案,如 WooCommerce,Easy Digital Downloads,Magento 和 PrestaShop。

我们一直鼓励 WordPress 用户利用最新的 支持的 PHP 版本 版本。 它们不仅更安全,而且还提供了额外的性能改进。 当然,我们并不是在谈论 WordPress,这在大多数平台上都是如此。 今天我们将向您展示 PHP 7.2 如何战无不胜!🚀

今年的结果推翻了以往测试中 HHVM 的领先地位。 我们很高兴看到 PHP 7.2 在速度方面处于领先的引擎。 需要注意的是,WordPress 不再支持 HHVM ,后续会完全移除。 我们不再鼓励我们的客户迁移到 HHVM,并告知他们它对各平台支持不足的情况。

这对于开发人员和使用者来说都是好消息,因为这让他们精力转移到 PHP 上来,同时能够为每个人提供更快的网站和 web 服务。

PHP & HHVM 基准测试 (2018)

每一次测试,我们都使用每个平台的最新版本,并用15个并发用户进行一分钟的主页测试。以下是我们测试环境的具体配置。

这些测试由 WordPress 的贡献者和支持工程师 Threatq Firdaus 在 Kinsta 完成。他贡献了 WordPress 的核心代码和翻译了印尼版的 WordPress

PHP

PHP : Hypertext Preprocessor(超文本处理器)。它是当今网络上最流行的脚本语言之一。据 W3Techs 称,所有服务器端编程语言的网站中,超过83%使用 PHP

HHVM

由于 PHP 的性能问题,Facebook 的 PHP 团队开发了 HipHop 虚拟机(HHVM)。它是一个使用即时(JIT)编译技术将 PHP 代码转换为机器语言以在 PHP 代码和运行它的底层硬件之间建立协同作用的系统。

测试的平台和配置

我们的测试包括以下20个平台/配置。 在某些平台下,由于缺乏对特定 PHP 版本的支持,我们不得不测试多个版本。 点击下面的标题直接跳到对应的测试记录和结果。 测试数据以每秒请求数来衡量。 当然请求数越多越好。

WordPress 4.9.4

要测试是第一个平台当然是我们最喜欢的: WordPress (我们可能有点偏向于每天生存和呼吸着这个CMS 😉)。 WordPress 核心是你可以用来创建漂亮的网站,博客,或者app的开源软件。 实际上, WordPress 支持着互联网上超过 全部网站29% 。 您访问的超过1/4的网站可能由 WordPress 提供支持。

针对 WordPress 基准测试, 我们使用免费的 Twenty Seventeen theme。 我们使用来自 wptest.io 的虚拟内容及模拟15个用户的并发来基准测试首页一分钟。

image.png

WordPress 基准测试

基准测试结果

PHP 7.2 证明比 HHVM 稍快而获胜。 这与 2016 年 HHVM 明显获胜的基准测试有显著的变化。 PHP for WordPress 也更加稳定。 我们遇到了 HHVM 许多第一手问题。

WordPress 4.9.4 + WooCommerce 3.3.1

WooCommerce 是一个为 WordPress 构建的完全可自定义的开源电子商务平台。这也是目前最流行的电子商务结局方案之一,为互联网上超过 42%的电商平台 提供支持。

针对下一个测试,我们将 WordPressWooCommerce 一起安装。我们使用免费的 电商店面主题

image.png

WordPress + WooCommerce 基准测试

基准测试结果

WooCommerceHHVM 中表现挣扎,同时 PHP 7.2 略微超过 PHP 7.1

WordPress 4.9.4 + Easy Digital Downloads 2.8.18

Easy Digital Downloads (EDD), 由 Pippin Williamson 开发,是一款免费的 WordPress 电子商城插件,专注于帮助开发者销售网上商品。

看了 WooCommerce 的表现后,我们将 WordPressEDD 一起安装。 我们采用的是免费的 EDD 入门主题

image.png

WordPress + Easy Digital Downloads 基准测试

基准测试结果

WordPressEDD的测试中, PHP 7.2 仍然胜出。

Drupal 8.4.4

Drupal 是一个开源的 CMSContent Management System,即"内容管理系统"),由于它的模块化系统和强大的开发者社区而流行。它在2000年推出, 据 W3Techs 报道,Drupal 在所有网站中占比 2.2% ,在 CMS 市场中占比 4.4% (详细调查) 。

对于 Drupal 的基准测试,我们采用 Bartik 8.4.4 主题。注意! Drupal 8.4.x 不兼容 PHP 7.2 (详细信息),因此,我们没有测试 PHP 7.2

image.png

Drupal 基准测试

基准测试结果

由于 Drupal的最新版不支持 PHP 7.2HHVM 赢下了这局。 看 PHP 的前一个版本(7.1)的性能表现,我们可以大胆推测 PHP 7.2 将会更快!

Joomla! 3.8.5

Joomla! 是一个发布网页内容的免费而开源 CMS,最初发布于2005年8月17日。 他建立于 model--view--controller web 应用框架中,根据 W3Techs 他被互联网上 3.1%的所有网站 使用。

针对 Joomla! 基准测试, 我们使用免费的 Beez3 框架

image.png

Joomla! 基准测试

基准测试结果

Joomla! 我们可以看到在各个版本的 PHP 中稳步的性能提升。 但 HHVM 仍然领先。

Magento 2 (CE) 2.1.11 + 2.2.2

Magento 是用 PHP 编写的流行的开源电子商务平台,于2008年3月31日发布。 根据 W3Techs,它支持 所有互联网的1.2%

对于 Magento 2 的基准测试,我们使用免费的 Luma 主题。我们使用了两个版本,因为 2.1.11 是唯一支持 PHP 5.6 的版本。 我们安装了样本数据和默认主题。对于其它的测试,我们使用 2.2.2 版本。Magento 2 目前还不支持 PHP 7.2 或者是最新版本的 HHVM。

image.png

Magento 2 基准测试

测试结果

由于 PHP 7.2 和最新版本的 HHVM 都不支持 Magento 2,所以 PHP 7.1 是明显的赢家。通过每个版本都可以获得一致的性能提升,这一点令人印象深刻。

Grav CMS 1.3.10

Grav 是一个简单易用但功能强大的开源 CMS ,不需要数据库,有时也被称为平面文件 CMS 。

对于 Grav CMS 的基准测试,我们使用了免费的 Clean Blog 框架。值得注意的是 Grav CMS 已经不再与 HHVM 编译器兼容,它已经从 Travis 中 删除了 HHVM 环境

image.png

Grav CMS 基准测试

测试结果

我们可以再次看到最新版本的 PHP (7.2) 在 Grav CMS 中是明显的赢家。

October CMS 1.0.433

October CMS 是一个基于 Laravel 的免费、开源、自主托管的模块化 CMS 平台。它最初于2014年5月15日发布。

对于 October CMS 基准测试,我们使用了免费的 Clean Blog 主题。需要注意的是 October CMS 不再支持 PHP 5.6 和 HHVM。即使我们可以通过删除 PHP 检查来欺骗安装程序,但它在配置向导中出现了会报500错误导致安装失败。

image.png

October CMS 基准测试

测试结果

即使不支持两个引擎,我们可以看到 PHP 7.2 再次获胜。

很高兴看到这些小众的内容管理系统不再支持旧版本的 PHP。尽管这不是一个很大的优势。因为当谈到 WordPress 和其他平台占有大部分市场份额时,由于其兼容性问题,发展得比较缓慢。

Laravel 5.4.36 + 5.6

Laravel 是一个非常流行的用于开发Web应用程序的开源PHP框架。它由Taylor Otwell创建,并于2011年6月发布。

对于Laravel基准测试,我们使用了纯HTML主题。 测试运行多次并取平均值。 您可以在此电子表格中看到更多详细信息。

image.png

Laravel 5.4.36 基准测试

基准测试结果

HHVM以较大优势获胜。

需要注意的是,Laravel 5.6与HHVM不兼容,并且需要PHP 7.1或更高版本。

image.png

Laravel 5.6 基准测试

基准测试结果

如果您将Laravel 5.6 PHP 7.2基准测试结果与Laravel 5.4.36的基准测试结果进行比较,差异是惊人的! Laravel在最新版本的PHP中运行效率非常好。

Symfony 3.3.6 + 4.0.1

Symfony 是一组可重用的 PHP 组件集合,同时也是一个用于创建 web、APIs、微服务和 web services 程序的 PHP 框架。它发布于2005年10月22日。

对于 Symfony 的基准测试,我们使用 Symfony Demo 和 MySQL (默认情况下使用的是SQLite)。测试被多次运行然后取结果的平均值。有一个重要的点需要注意,就是 HHVM 不能很好的工作并抛出了500错误。你可以在这个 表格 中查看更多的信息。

image.png

Symfony 3.3.6 基准测试

基准测试结果

PHP 7.2 再次成为冠军!

请注意 Symfony 4.0.1 的运行环境需要 PHP 7.1或以上。同时,HHVM再次不能正常工作并抛出 500 错误。

image.png

Symfony 4.0.1 基准测试

基准测试结果

这里没有惊喜,PHP 7.2 再次登顶。

PyroCMS 3.4.14

PyroCMS 是一个开源同时本质上是允许你更快的在框架上构建网站和应用的 Laravel 扩展。

针对 PyroCMS 基准测试,我们使用免费的 Accelerant 主题 (默认 PyroCMS 主题)。 需要着重注意的是 PyroCMS 不能在 HHVM 中运行,可能是由于依赖 Laravel

image.png

PyroCMS 基准测试

基准测试结果

PyroCMS 的测试结果非常相近, 但 PHP 7.2 再次表现的很好。

Pagekit 1.0.13

Pagekit 是一个由 YOOtheme 创建的开源模块化轻量 CMS。它是各种工具的集合,为创建更美好的网站服务。Pagekit 发布于 2016 年春。

在 Pagekit 基准测试中,我们使用的是免费的 One theme (Pagekit 默认主题).

image.png

Pagekit 基准测试

测试结果

Pagekit 运行在 HHVM 时看起来有些捉急,而 PHP 7.2 显然再次领跑各测试引擎。

Bolt CMS 3.4.8

Bolt CMS, 或者叫 Bolt,是一个开源的内容管理工具,他力求尽可能简单直白。 他基于 SilexSymfony 组件,使用 Twig 以及 SQLiteMySQL 或者 PostgreSQL

针对 Bolt CMS 基准测试, 我们使用免费的 Bolt Base 2016 主题。 着重注意的是 HHVM 不受支持 (#6921)。

image.png

Bolt CMS 基准测试

Benchmark Results

我们可以在这里看到很不错的指标,每一次新发布的 PHPBolt CMS 可以看到一致的性能提升。

Anchor CMS 0.12.6 (pre-release)

Anchor 是一个超级简单,开源且轻量级的博客系统,可以使你专注于写作。
对于 Anchor CMS的基准测试,我们使用 Visual Idiot 编写的免费 默认主题

image.png

Anchor CMS 基准测试

基准测试结果

PHP 7.1 和 PHP 7.2 的测试结果非常接近,但是 PHP 7.1 在我们的性能测试中表现更快一些

PrestaShop 1.7.2.4

PrestaShop 是一个流行的并且快速增长的开源电子商务解决方案。它最初发布于2008年7月31日,同时根据 W3Techs的数据,它在互联网中的使用率是 0.6%

对于 PrestaShop 的基准测试,我们使用免费的 传统主题。请注意PrestaShop 不支持 HHVM

image.png

PrestaShop 基准测试

基准测试结果

测试结果是不相伯仲的,但是 PHP 7.2 勉强的挤进去成为领导者。

Craft CMS 2.6.3011

Craft CMS 是面向开发人员,设计人员和Web专业人员的专注内容管理系统,为客户提供灵活性和易用性的强大功能。

对于 Craft CMS 基准测试,我们使用免费的 默认主题.

image.png

Craft CMS 基准测试

基准测试结果

Craft CMS 在 HHVM 上表现的不好,但 PHP 7.2 又再一次是最快的。

Fork CMS 5.2.2

Fork 是一个使用 Symfony 组件的易用的开源 CMS。对于 Fork CMS 的基准测试,我们使用免费的默认 Fork 主题。需要注意的是 Fork CMS 需要 PHP 7.1 或更高的环境并且它不支持 HHVM。

image.png

Fork CMS 基准测试

测试结果

在性能方面,PHP 7.2 击败了 PHP 7.1。

升级 Kinsta 到 PHP 7.2

如果上述结果还不能说服你,我们不知道还有什么了。一个善意的提醒,如果你使用的是 Kinsta 客户端我们在 2017 年 12 月发布了 PHP 7.2 。如果你想看到性能的提升,你可以在你的 MyKinsta 仪表盘中轻松切换到 PHP 7.2 。

image.png

在 Kinsta 中切换到 PHP 7.2

如果你担心它与第三方插件不兼容(这有可能发生),这就是为什么我们使用分段站点的原因。 😉 你可以尝试它而不需要担心破坏你的生产环境。

基准测试结果

你可以清楚地从上面的测试中看到,纵观所有平台的性能时,php 7.2是领先的。🏋

我们对PHP 7.2感到非常兴奋,并希望你也是!我们很乐意听到你对我们基准测试的想法,甚至你曾经升级过的体验。可以在下方评论中告诉我们。

讨论请前往:https://laravel-china.org/topics/8437

上一篇下一篇

猜你喜欢

热点阅读