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

澳门新浦京娱乐游戏 1

Laravel依旧优雅,不过性能堪忧,用网友的话形容比较好 学之者生用之者死

基准测试结果

  • WordPress 4.9.4 PHP 5.6 基准测试结果: 49.18 请求/秒
  • WordPress 4.9.4 PHP 7.0 基准测试结果: 133.55 请求/秒
  • WordPress 4.9.4 PHP 7.1 基准测试结果: 134.24 请求/秒
  • WordPress 4.9.4 PHP 7.2 基准测试结果: 148.80 请求/秒 🏆
  • WordPress 4.9.4 HHVM 基准测试结果: 144.76 请求/秒

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

这一行到footer.php的/body标记前。

Failed transactions: 0

Benchmark Results

  • Bolt CMS 3.4.8 PHP 5.6 基准测试结果: 33.45 请求/秒
  • Bolt CMS 3.4.8 PHP 7.0 基准测试结果: 60.21 请求/秒
  • Bolt CMS 3.4.8 PHP 7.1 基准测试结果: 67.96 请求/秒
  • Bolt CMS 3.4.8 PHP 7.2 基准测试结果: 72.05 请求/秒 🏆
  • Bolt CMS 3.4.8 HHVM 基准测试结果: 不支持

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

这里是配置环境的详情:

Response time: 1.46 secs

测试结果

  • Grav CMS 1.3.10 PHP 5.6 基准测试结果:34.83 请求/秒
  • Grav CMS 1.3.10 PHP 7.0 基准测试结果:53.37 请求/秒
  • Grav CMS 1.3.10 PHP 7.1 基准测试结果:53.37 请求/秒
  • Grav CMS 1.3.10 PHP 7.2 基准测试结果:55.12 请求/秒 🏆
  • Grav CMS 1.3.10 HHVM 基准测试结果:不支持

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

DigitalOcean 4GB 雨滴容器

单位是秒,运行10次,越低越好

澳门新浦京娱乐游戏 2

看起来似乎PHP-NG在它首次运行后就获得了峰值性能!HHVM需要更多几次重载,但是它们的性能貌似差不多!我等不及PHP-NG合并到开发主干了!:)

一分钟命中数,越高越好。

澳门新浦京娱乐游戏 3

PHP 5.5.15禁用OpCache

  • 执行: 236 hits
  • 可用性: 100.00 %
  • 消耗时间: 59.03 secs
  • 传输的数据: 2.40 MB
  • 回应时间: 2.47 secs
  • 执行率: 4.00 trans/sec
  • 吞吐量: 0.04 MB/sec
  • 并发数: 9.87
  • 成功的执行: 236
  • 失败的执行: 0
  • 最长执行: 4.44
  • 最短执行: 0.48

PHP 5.5.15启用OpCache

  • 执行: 441 hits
  • 可用性: 100.00 %
  • 消耗时间: 59.55 secs
  • 传输的数据: 4.48 MB
  • 回应时间: 1.34 secs
  • 执行率: 7.41 trans/sec
  • 吞吐量: 0.08 MB/sec
  • 并发数: 9.91
  • 成功的执行: 441
  • 失败的执行: 0
  • 最长执行: 2.19
  • 最短执行: 0.64

PHP 5.6 RC2禁用OpCache

  • 执行: 207 hits
  • 可用性: 100.00 %
  • 消耗时间: 59.87 secs
  • 传输的数据: 2.10 MB
  • 回应时间: 2.80 secs
  • 执行率: 3.46 trans/sec
  • 吞吐量: 0.04 MB/sec
  • 并发数: 9.68
  • 成功的执行: 207
  • 失败的执行: 0
  • 最长执行: 3.65
  • 最短执行: 0.54

PHP 5.6 RC2启用OpCache

  • 执行: 412 hits
  • 可用性: 100.00 %
  • 消耗时间: 59.03 secs
  • 传输的数据: 4.18 MB
  • 回应时间: 1.42 secs
  • 执行率: 6.98 trans/sec
  • 吞吐量: 0.07 MB/sec
  • 并发数: 9.88
  • 成功的执行: 412
  • 失败的执行: 0
  • 最长执行: 1.93
  • 最短执行: 0.34

HHVM 3.2.0(版本是PHP 5.6.99-hhvm)

  • 执行: 955 hits
  • 可用性: 100.00 %
  • 消耗时间: 59.69 secs
  • 传输的数据: 9.18 MB
  • 回应时间: 0.62 secs
  • 执行率: 16.00 trans/sec
  • 吞吐量: 0.15 MB/sec
  • 并发数: 9.94
  • 成功的执行: 955
  • 失败的执行: 0
  • 最长执行: 0.85
  • 最短执行: 0.23

PHP-NG启用OpCache(构建: Jul 29 2014)

  • 执行: 849 hits
  • 可用性: 100.00 %
  • 消耗时间: 59.88 secs
  • 传输的数据: 8.63 MB
  • 回应时间: 0.70 secs
  • 执行率: 14.18 trans/sec
  • 吞吐量: 0.14 MB/sec
  • 并发数: 9.94
  • 成功的执行: 849
  • 失败的执行: 0
  • 最长执行: 1.06
  • 最短执行: 0.13

注意:这里节略了前一次的测试结果(有误),如感兴趣请访问原文查看。

Longest transaction: 4.57

测试结果

  • October CMS 1.0.433 PHP 5.6 测试结果:不支持
  • October CMS 1.0.433 PHP 7.0 测试结果:43.83 请求/秒
  • October CMS 1.0.433 PHP 7.1 测试结果:47.95 请求/秒
  • October CMS 1.0.433 PHP 7.2 测试结果:48.87 请求/秒 🏆
  • October CMS 1.0.433 HHVM 测试结果:不支持

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

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

摘要:在一个基于Vagrant的本地环境中,可能是某个错误的原因,导致HHVM测试结果很差;在HHVM伙伴们协助下,该原因仍在研究中!然而,在DigitalOcean的一个4GB虚拟机中,HHVM甚至盖过了最新版的PHP-NG的风头!

用ThinkPHP的话,招聘一个刚从培训机构出来的开发者就可以上手了,但是性能和后期代码解耦是个让人头疼的事情。不过很多第三方功能不需要自己写,众多大牛已经给铺好路了。

基准测试结果

  • Joomla! 3.8.5 PHP 5.6 基准测试结果: 26.42 请求/秒
  • Joomla! 3.8.5 PHP 7.0 基准测试结果: 41.46 请求/秒
  • Joomla! 3.8.5 PHP 7.1 基准测试结果: 41.17 请求/秒
  • Joomla! 3.8.5 PHP 7.2 基准测试结果: 42.36 请求/秒
  • Joomla! 3.8.5 HHVM 基准测试结果: 51.84 请求/秒 🏆

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

结论:它们反映出HHVM的功效更佳(在JIT热启动后),虽然出于某些原因,我们不能在所有装备中获取这些结果。

Transaction rate: 197.11 trans/sec

PrestaShop 1.7.2.4

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

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

  • 产品数量: 7 (默认样品产品)
  • 测试 URL: /index.php
  • 页面缓存: 关闭, Smarty 缓存: 开启

澳门新浦京娱乐游戏 4

image.png

PrestaShop 基准测试

没有进一步大费周章,这些就是我的测试结果,数值越低越好,以秒为单位:

YII_DEBUG改为false

Anchor CMS 0.12.6 (pre-release)

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

  • 帖子数:5

澳门新浦京娱乐游戏 5

image.png

Anchor CMS 基准测试

在Kinsta,我们真的想要测试所有新技术,并通常会优化这一切来为我们的客户提供最佳的环境。今天,我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建,一个是全新出炉的WordPress安装,另外一个则添加了大量内容的WooCommerce!为了计量脚本的运行时间,我只是简单地添加了

首先向我们走来的是ThinkPHP,看上去还行

PyroCMS 3.4.14

PyroCMS澳门新浦京娱乐游戏
是一个开源同时本质上是允许你更快的在框架上构建网站和应用的 Laravel
扩展。

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

  • 帖子数量: 5
  • 调试模式开启 (APP_DEBUG=true)

澳门新浦京娱乐游戏 6

image.png

PyroCMS 基准测试

很显然,你不得不根据你的(或者更确切地说是你的站点)的需求采取折中方案,然而这值得吗?切换到HHVM后,你期望获得多少性能改善呢?

Yii:

基准测试结果

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

HHVM以较大优势获胜。

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

澳门新浦京娱乐游戏 7

image.png

Laravel 5.6 基准测试

  • DigitalOcean 4GB 雨滴容器 (2 CPU核心, 4GB RAM)
  • Ubuntu 14.04, MariaDB10
  • 测试站点: 已导入演示内容的Munditia主题,WooCommerce 2.1.12 &
    WordPress 3.9.1
  • PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG
    (20140718-git-6cc487d)和HHVM 3.2.0 (版本是PHP 5.6.99-hhvm)

Failed transactions: 0

WordPress 4.9.4 + WooCommerce 3.3.1

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

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

  • 产品数: 8 (2 个产品一行)
  • 设置商店页面为首页
  • Docker Image 源自于
    https://hub.docker.com/_/wordpress/

澳门新浦京娱乐游戏 8

image.png

WordPress + WooCommerce 基准测试

<?php timer_stop(1); ?>

没想到在没有优化的情况下,ThinkPHP的速度是最快的,Yii略微多一些,Laravel步履蹒跚的跑完了测试。结果是有些出人意料的,不过上述的测试只代表了开发环境,下面会对框架进行优化,模拟线上环境。

基准测试结果

  • Symfony 4.0.1 PHP 5.6 基准测试结果: 不支持
  • Symfony 4.0.1 PHP 7.0 基准测试结果: 不支持
  • Symfony 4.0.1 PHP 7.1 基准测试结果: 188.12 req/sec
  • Symfony 4.0.1 PHP 7.2 基准测试结果: 197.17 req/sec 🏆
  • Symfony 4.0.1 HHVM 基准测试结果: 不支持

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

  • HHVM只能以单个用户运行,这意味着(在共享环境中)安全性差了
  • HHVM在崩溃后不会自动重启,而不幸的是,它至今仍然经常发生
  • HHVM在启动时使用大量内存,虽然,它和同规模的PHP-FPM比较,单个请求的内存使用量更低

结果说明

澳门新浦京娱乐游戏 9

如果你记得我们在几个月前写过一篇文章,那时WordPress
3.9表明是完全支持HHVM的,当时是那么令我们欢欣鼓舞。最初的基准测试结果显示,HHVM要比驱动着当前所有PHP构建的Zend引擎高级得多。后来,问题就出来了:

Elapsed time: 9.74 secs 运行时间

Craft CMS 2.6.3011

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

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

  • 文章数量:5
  • 测试的 URL:/index.php?p=news
  • CraftCMS 带有自己的 Dockerfile。我们将其定制为与nginx兼容。

澳门新浦京娱乐游戏 10

image.png

Craft CMS 基准测试

Longest transaction: 0.88

测试结果

  • Fork CMS 5.2.2 PHP 5.6 测试结果:不支持
  • Fork CMS 5.2.2 PHP 7.0 测试结果:不支持
  • Fork CMS 5.2.2 PHP 7.1 测试结果:10.68 请求/秒
  • Fork CMS 5.2.2 PHP 7.2 测试结果:12.83 请求/秒 🏆
  • Fork CMS 5.2.2 HHVM 测试结果:不支持

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

增加一个控制器,并在控制器中输入10000次HelloWorld

测试的平台和配置

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

Shortest transaction: 0.00

Drupal 8.4.4

Drupal
是一个开源的 CMS
Content 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

  • 帖子数量: 10 (由 Devel 模块生成)
  • 关闭页面缓存:
    https://www.drupal.org/node/2598914
  • Docker 镜像来自
    https://hub.docker.com/_/drupal/

澳门新浦京娱乐游戏 11

image.png

Drupal 基准测试

Longest transaction: 0.48

基准测试结果

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

  • 在上面测试的20个测试配置中,有14个可以表明 PHP 7.2
    是最快的引擎。而有其中的两个(Drupal 和 Magento)目前还不支持 PHP
    7.2,所以有可能是16个。
  • 就 WordPress 而言,php 7.2是所有测试中最快的(stock WordPress
    site,WooCommerce 和 Easy Digital Downloads)。
  • 在许多基准测试结果中,你可以轻松地发现每个发布的新版本php的性能提升模式。这就是为什么测试您的网站,插件等是非常重要的事情,坚持定期升级计划,你的访问者和客户会因为他们所期望的速度而感谢你!
  • 如果你的托管服务提供商不提供更新 PHP
    的版本,那么你现在就应该考虑迁移它。

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

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

Data transferred: 159.45 MB

Fork CMS 5.2.2

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

  • 文章数量:2 (来自 ForkCMS 的默认样品数据)
  • 测试 URL:/modules/blog

澳门新浦京娱乐游戏 12

image.png

Fork CMS 基准测试

Longest transaction: 7.83

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 和 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 完成。他贡献了 WordPress 的核心代码和翻译了印尼版的
WordPress。

Throughput: 0.13 MB/sec 每秒处理数据

测试结果

  • Magento 2 (CE) 2.1.11 PHP 5.6 基准测试结果:10.75 请求/秒
  • Magento 2 (CE) 2.1.11 PHP 7.0 基准测试结果:20.87 请求/秒
  • Magento 2 (CE) 2.1.11 PHP 7.1 基准测试结果:29.84 请求/秒 🏆
  • Magento 2 (CE) 2.1.11 PHP 7.2 基准测试结果:不支持
  • Magento 2 (CE) 2.1.11 HHVM 基准测试结果:不支持

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

最后是Yii

基准测试结果

  • Anchor CMS 0.12.6 PHP 5.6 基准测试结果: 495.33 req/sec
  • Anchor CMS 0.12.6 PHP 7.0 基准测试结果: 546.02 req/sec
  • Anchor CMS 0.12.6 PHP 7.1 基准测试结果: 565.00 req/sec 🏆
  • Anchor CMS 0.12.6 PHP 7.2 基准测试结果: 561.73 req/sec
  • Anchor CMS 0.12.6 HHVM 基准测试结果: 487.71 req/sec

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

Longest transaction: 26.01

升级 Kinsta 到 PHP 7.2

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

澳门新浦京娱乐游戏 13

image.png

在 Kinsta 中切换到 PHP 7.2

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

Transactions: 1672 hits

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

Failed transactions: 23

Joomla! 3.8.5

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

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

  • 帖子数量: 4 (在安装过程中按照的默认 Joomla 帖子)
  • 默认侧边栏未发布
  • Docker Image 源自于
    https://hub.docker.com/_/joomla/

澳门新浦京娱乐游戏 14

image.png

Joomla! 基准测试

Concurrency: 178.00

WordPress 4.9.4 + Easy Digital Downloads 2.8.18

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

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

  • 产品数: 6 (插件的默认产品样本)
  • 产品列表里有两个图片丢失
  • Docker 镜像来自
    https://hub.docker.com/_/wordpress/

澳门新浦京娱乐游戏 15

image.png

WordPress + Easy Digital Downloads 基准测试

Availability: 85.20 %

基准测试结果

  • Laravel 5.6 PHP 5.6 基准测试结果: 不兼容
  • Laravel 5.6 PHP 7.0 基准测试结果: 不兼容
  • Laravel 5.6 PHP 7.1 基准测试结果: 411.39 req/sec
  • Laravel 5.6 PHP 7.2 基准测试结果: 442.17 req/sec 🏆
  • Laravel 5.6 HHVM 基准测试结果: 不兼容

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

Response time: 0.26 secs

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

Elapsed time: 4.84 secs

基准测试结果

  • WordPress 4.9.4 + EDD 2.8.18 PHP 5.6 基准测试结果: 76.71 请求/秒
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.0 基准测试结果: 123.83 请求/秒
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.1 基准测试结果: 124.82 请求/秒
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.2 基准测试结果: 135.74 请求/秒
    🏆(最佳)
  • WordPress 4.9.4 + EDD 2.8.18 HHVM 基准测试结果: 127.74 请求/秒

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

Shortest transaction: 0.04

October CMS 1.0.433

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

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

  • 文章数量:5 在左边有两个边栏 (最新帖子和 Follow me)

澳门新浦京娱乐游戏 16

image.png

October CMS 基准测试

Availability: 96.85 % 可用性

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。

  • 产品数量:7
  • http://pubfiles.nexcess.net/magento/ce-packages/

澳门新浦京娱乐游戏 17

image.png

Magento 2 基准测试

Failed transactions: 0

基准测试结果

  • Craft CMS 2.6.3011 PHP 5.6 测试结果:131.04 请求/秒
  • Craft CMS 2.6.3011 PHP 7.0 测试结果:266.54 请求/秒
  • Craft CMS 2.6.3011 PHP 7.1 测试结果:272.14 请求/秒
  • Craft CMS 2.6.3011 PHP 7.2 测试结果:280.02 请求/秒 🏆
  • Craft CMS 2.6.3011 HHVM 测试结果:26.28 请求/秒

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

框架版本: ThinkPHP 3.2.3 Laravel 5.2 Yii2.0.5

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

Response time: 3.15 secs

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

Transactions: 1977 hits

测试结果

  • Pagekit 1.0.13 PHP 5.6 基准测试结果:51.70 请求/秒
  • Pagekit 1.0.13 PHP 7.0 基准测试结果: 108.61 请求/秒
  • Pagekit 1.0.13 PHP 7.1 基准测试结果: 112.30 请求/秒
  • Pagekit 1.0.13 PHP 7.2 基准测试结果: 116.18 请求/秒 🏆
  • Pagekit 1.0.13 HHVM 基准测试结果: 61.16 请求/秒

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

Data transferred: 52.45 MB

基准测试结果

  • Drupal 8.4.4 PHP 5.6 基准测试结果: 7.05 请求/秒
  • Drupal 8.4.4 PHP 7.0 基准测试结果: 15.94 请求/秒
  • Drupal 8.4.4 PHP 7.1 基准测试结果: 19.15 请求/秒
  • Drupal 8.4.4 PHP 7.2 基准测试结果: (不兼容)
  • Drupal 8.4.4 HHVM 基准测试结果: 19.57 请求/秒 🏆

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

php artisan optimize

Pagekit 1.0.13

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

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

  • 文章数: 5
  • 关闭缓存
  • 测试 URL: /blog

澳门新浦京娱乐游戏 18

image.png

Pagekit 基准测试

Longest transaction: 2.85 最长的单个请求

WordPress 4.9.4

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

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

  • 帖子数量: 10 个 / 页根据 wptest.io 生成
  • “搜索” 侧边栏是侧边栏上唯一发布的内容
  • Docker Image 源自于
    https://hub.docker.com/_/wordpress/

澳门新浦京娱乐游戏 19

image.png

WordPress 基准测试

Data transferred: 175.40 MB

Grav CMS 1.3.10

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

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

  • 文章数量:4 (在 “Clean Blog” 框架中预设帖子)
  • 关闭页面/文件缓存
    https://learn.getgrav.org/advanced/performance-and-caching,Twig
    缓存仍可用。

澳门新浦京娱乐游戏 20

image.png

Grav CMS 基准测试

Longest transaction: 3.29

基准测试结果

  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 5.6 基准测试结果: 34.47
    请求/秒
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.0 基准测试结果: 84.89
    请求/秒
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.1 基准测试结果: 86.04
    请求/秒
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.2 基准测试结果: 92.60
    请求/秒 🏆
  • WordPress 4.9.4 + WooCommerce 3.3.1 HHVM 基准测试结果: 69.58 请求/秒

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

Throughput: 3.93 MB/sec

基准测试结果

  • PyroCMS 3.4.14 PHP 5.6 基准测试结果: 不支持
  • PyroCMS 3.4.14 PHP 7.0 基准测试结果: 27.33 请求/秒
  • PyroCMS 3.4.14 PHP 7.1 基准测试结果: 27.81 请求/秒
  • PyroCMS 3.4.14 PHP 7.2 基准测试结果: 29.28 请求/秒 🏆
  • PyroCMS 3.4.14 HHVM 基准测试结果: 不支持

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

Concurrency: 187.68

Laravel 5.4.36 + 5.6

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

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

  • 帖子数量: 10 个使用
    Blade
    模板foreach循环展示
  • 数据库有一个 1posts
  • 这个表包含六个字段 post_title, post_content, post_author,
    created_at, updated_at
  • 关闭session
  • 在进行基准测试前运行composer dump-autoload --classmap-authoritative,php artisan optimize --force,
    php artisan config:cache, php artisan route:cache

澳门新浦京娱乐游戏 21

image.png

Laravel 5.4.36 基准测试

测试机器: MacPro Core i5 处理器/8GB内存/256GB SSD闪存

基准测试结果

  • Symfony 3.3.6 PHP 5.6 基准测试结果: 81.78 req/sec
  • Symfony 3.3.6 PHP 7.0 基准测试结果: 184.15 req/sec
  • Symfony 3.3.6 PHP 7.1 基准测试结果: 187.60 req/sec
  • Symfony 3.3.6 PHP 7.2 基准测试结果: 196.94 req/sec 🏆
  • Symfony 3.3.6 HHVM 基准测试结果: 不支持

PHP 7.2 再次成为冠军!

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

澳门新浦京娱乐游戏 22

image.png

Symfony 4.0.1 基准测试

Elapsed time: 13.33 secs

Symfony 3.3.6 + 4.0.1

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

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

  • 文章数量: 10
  • 测试的URL: /en/blog/
  • composer dump-autoload -o, php bin/console doctrine:database:create,
    php bin/console doctrine:schema:create, php bin/console
    doctrine:fixtures:load, php bin/console cache:clear –no-warmup
    –env=prod

澳门新浦京娱乐游戏 23

image.png

Symfony 3.3.6 基准测试

Successful transactions: 500

PHP

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

Transaction rate: 177.94 trans/sec

HHVM

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

比较奇怪的一点,当框架关掉调试模式后都出现了较多失败的情况。不过明显的看到,Laravel进行简单的优化后,性能大大的提升了,但还是低于其他两个框架。

image.png

Availability: 83.60 %

Bolt CMS 3.4.8

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

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

  • 帖子数量: 5
  • 经过测试的网址: /entries
  • Session 仍处于启用状态

澳门新浦京娱乐游戏 24

image.png

Bolt CMS 基准测试

测试时间: 2016年05月06日

基准测试结果

  • Prestashop 1.7.2.4 PHP 5.6 基准测试结果: 61.96 req/sec
  • Prestashop 1.7.2.4 PHP 7.0 基准测试结果: 108.34 req/sec
  • Prestashop 1.7.2.4 PHP 7.1 基准测试结果: 111.38 req/sec
  • Prestashop 1.7.2.4 PHP 7.2 基准测试结果: 111.48 req/sec 🏆
  • Prestashop 1.7.2.4 HHVM 基准测试结果: 不支持

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

Longest transaction: 9.04

Laravel:

Response time: 0.95 secs

Transactions: 1655 hits

Shortest transaction: 0.00

并发200循环10次:

Throughput: 21.15 MB/sec

Failed transactions: 296

Data transferred: 52.45 MB

Longest transaction: 1.22

Successful transactions: 1890

Longest transaction: 19.18

Response time: 0.60 secs 响应时间

Transaction rate: 112.40 trans/sec

APP_DEBUG改为false

Transactions: 500 hits

Successful transactions: 500

Response time: 0.46 secs

在测试的过程中,其他我的心情是沮丧的,感觉自己的三观世界已经崩塌了,崩塌至渣。

Throughput: 28.38 MB/sec

Yii的性能比较中庸,但是在测试中会明显发现请求失败的情况比其他两个框架要少

Elapsed time: 18.95 secs

Failed transactions: 345

首先是ThinkPHP

Successful transactions: 1996

Transaction rate: 37.51 trans/sec

Availability: 100.00 %

Data transferred: 207.40 MB

Throughput: 10.84 MB/sec

Failed transactions: 328

Successful transactions: 500

Transactions: 1520 hits

不如做个简单的性能评测,选个性能出色的总不会出错

Shortest transaction: 0.10

APP_DEBUG改为false

Concurrency: 130.28 并发

开始测试

php artisan config:cache

Failed transactions: 480

并发50循环10次:

Failed transactions: 110

Elapsed time: 8.21 secs

Shortest transaction: 0.07

Successful transactions: 1672

Shortest transaction: 0.02

Transactions: 2119 hits 处理请求总数量

Elapsed time: 10.03 secs

Transaction rate: 105.33 trans/sec

Concurrency: 164.21

优化框架

Concurrency: 47.10

Concurrency: 139.29

Shortest transaction: 0.01

Concurrency: 136.84

主流PHP框架性能非权威测试

用Yii的话,语法有点啰嗦,前后端代码分离有点小麻烦,不过性能是非常好的,而且已经有众多国内大公司在使用了,出现意外可以快速的找到大牛答疑解惑。

Throughput: 20.68 MB/sec

ThinkPHP:

Transaction rate: 201.58 trans/sec

composer dumpautoload -o

Transaction rate: 36.45 trans/sec

Shortest transaction: 0.03

然后是Laravle,嗯,略微有些失望

Response time: 4.88 secs

Availability: 98.85 %

Data transferred: 173.62 MB

如果你觉得眼前需要更好的提高你可以来千锋学PHP,国内排名第一的PHP机构。

Data transferred: 198.27 MB

Data transferred: 178.76 MB

Successful transactions: 1704

Successful transactions: 2162 成功的请求

Transactions: 500 hits

Transaction rate: 43.49 trans/sec

Data transferred: 52.45 MB

Data transferred: 1.31 MB 数据传输量

Concurrency: 47.65

Availability: 82.75 %

Transactions: 1704 hits

Throughput: 3.82 MB/sec

Throughput: 18.67 MB/sec

Response time: 0.57 secs

Successful transactions: 1977

Yii:

并发200循环10次:

结论

测试环境: Apache PHP5.6

composer dumpautoload -o

Longest transaction: 3.64

Transaction rate: 217.56 trans/sec 每秒处理效率

Transactions: 1890 hits

Concurrency: 188.57

作为一个PHP开发者,而且是初创企业团队的技术开发者,选择开发框架是个很艰难的事情。

Transaction rate: 103.31 trans/sec

Response time: 1.79 secs

Shortest transaction: 0.01 最短的单个请求

最后赛前比较看好的Yii

测试原则: 每次测试循环5次,取中等数据

Successful transactions: 1655

Availability: 100.00 %

Throughput: 11.05 MB/sec

Failed transactions: 69 失败的请求

Concurrency: 47.55

Shortest transaction: 0.07

Transactions: 1996 hits

用Laravel的话,传说写起来很爽扩展性也够,但是学习成本有点高,总不能给初级开发者半个月的时间去学习框架吧。而且据说江湖人士透漏,Laravel性能不怎么样,文档也并不是特别丰富。

我的项目最后使用了自建框架进行开发,得益于composer的强大,开发的过程非常顺利,最后附上自有框架在200并发10次循环的数据,框架开源但是更新比较忙,欢迎在github上搜索PPPHP,和我一起搭建框架。

Throughput: 11.79 MB/sec

php artisan route:cache

Availability: 94.50 %

Transaction rate: 270.55 trans/sec

Failed transactions: 4

Availability: 99.80 %

Successful transactions: 1520

Laravel:

Throughput: 4.56 MB/sec

Data transferred: 209.39 MB

性能测试

然后是Laravel

补充说明:所有项目都是让在子目录中

ThinkPHP的性能比Yii高出一倍,比Laravel高出近四倍

Elapsed time: 15.16 secs

Response time: 0.69 secs

Elapsed time: 6.18 secs

Availability: 76.00 %

Response time: 1.27 secs

Transactions: 500 hits

Elapsed time: 34.95 secs

Elapsed time: 2.81 secs

Availability: 100.00 %

Concurrency: 153.16

ThinkPHP

最后

测试工具: siege (因为MAC系统的ab总是会出现 pr_socket_recv: Connection
reset by peer (54) 的错误,所以选择了siege)

Elapsed time: 51.85 secs

Shortest transaction: 0.00

发表评论

电子邮件地址不会被公开。 必填项已用*标注