PHP 5.6,7.0,7.1,7.2 和 HHVM 运行效率比较(2018年 节选翻译 Laravel 部分)
7

今年我们测试了 4个不同版本的PHP和HHVM 在 20 不同平台或配置的表现, 包括 WordPress、Drupal、Joomla、 Laravel、 Symfony等等.

我们以前的基准中HHVM是赢家,但今年的测试结果已经大有改变。我们很高兴看到PHP 7.2引擎在速度方面处于领先状态。

PHP & HHVM 基准测试 (2018)

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

  • 计算主机:8x Intel(R) Xeon(R) CPU @ 2.20GHz (由Google云端平台提供支持,并在独立的容器中运行 )
  • 操作系统: Ubuntu 16.04.3 LTS
  • Docker 环境: Debian 8, Nginx 1.13.8, MariaDB 10.1.31
  • PHP 引擎: 5.6, 7.0, 7.1, 7.2
  • HHVM: 3.24.2
  • OPCache: WordPress, Joomla, and Drupal三个平台, 我们使用官方docker镜像。其他平台我们都使用开启OPcache的镜像 并使用 以下php.ini 配置文件.

    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=4000
    opcache.revalidate_freq=60
    opcache.fast_shutdown=1
    opcache.enable_cli=1

这些测试由WordPress的贡献者Threatq Firdaus和在Kinsta的支持工程师完成。

PHP

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

HHVM

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

Laravel 基准测试

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

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

  • 帖子数量:blade模板包含10个foreach循环
  • 该数据库包含1个posts表
  • 该表包含6个字段post_title,post_content,post_author,created_at和updated_at
  • 关闭session
  • 执行基准测试之前的运行composer dump-autoload -classmap-authoritativephp artisan optimize -forcephp artisan config:cachephp artisan route:cache命令

Laravel 5.4.36基准测试

Laravel 5.4.36 benchmarks

Img src: Kinsta

基准测试结果:

  • PHP 5.6基准测试结果:66.57 req / sec
  • PHP 7.0基准测试结果:114.55 req / sec
  • PHP 7.1基准测试结果:113.26 req / sec
  • PHP 7.2基准测试结果:114.04 req / sec
  • HHVM基准测试结果:394.31req / sec?

HHVM在这里是明显的赢家。

Laravel 5.6基准测试

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

Img src: Kinsta

基准测试结果:

  • PHP 5.6基准测试结果:不支持
  • PHP 7.0基准测试结果:不支持
  • PHP 7.1基准测试结果:411.39 req / sec
  • PHP 7.2基准测试结果:442.17 req / sec?
  • HHVM基准测试结果:不支持

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

结论

正如你从上面的测试中可以清楚地看到的那样,当涉及到所有平台的性能时,PHP 7.2是领先的。 ?

  • 在上面20个测试的中,PHP 7.2是最快的引擎占了14个。其中两个(Drupal和Magento)目前还不支持PHP 7.2,所以它可能高达16/20。
  • 在许多基准测试结果中,您可以轻松发现每个发布的PHP新版本的性能提升模式。这就是为什么测试您的网站,插件等非常重要,并坚持定期升级计划。您的访问者和客户会因为他们享受到期望的速度而感谢您!
  • 如果您的托管服务提供商不提供最新版本的PHP,可能是您考虑迁移的时候了。

翻译:https://www.riverside.website/php-56707172-hhvm-2018-jtvcw

原作者: Mark Gavalda

原文:The Definitive PHP 5.6, 7.0, 7.1, 7.2 & HHVM Benchmarks (2018)

本帖已被设为精华帖!
本帖由 Summer 于 6个月前 加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3
Summer

弄了一个全文译文版本,可以帮忙贡献翻译哦 https://laravel-china.org/topics/8437

6个月前
leo

Laravel5.6和5.4在7.1下性能差这么多?难道是因为路由优化了?

6个月前

@leo 应该不是,上次symfony的那个路由优化是计划在4.1版本里的,现在还没正式发布。而且laravel 5.6依赖的是~4.0

6个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!