[譯] 這可能是 2018 年最好的一篇 PHP 效能測評(包含 5.6 到 7.2,以及 HHVM)

土豆呼叫番薯發表於2018-03-23

這可能是 2018 年最好的一篇 PHP 效能測評(包含 5.6 到 7.2,以及 HHVM)

[譯] 這可能是 2018 年最好的一篇 PHP 效能測評(包含 5.6 到 7.2,以及 HHVM)

每年我們都會在大量不同的平臺上嘗試並深入研究 PHP 不同版本以及 HHVM 在效能方面的差異。而今年,我們一鼓作氣在 20 個不同的平臺/配置下評測了四個不同版本的 PHP 引擎以及 HHVM,測評使用的應用包括了 WordPress,Drupal,Joomla!,Laravel,Symfony以及其他各種各樣的應用。此外,我們也測試了近些年流行的一些電子商務解決方案如 WooCommerce,Easy Digital Downloads,Magento,和 PrestaShop。

想看這篇文章的西班牙語版本嗎?我是傳送門

我們鼓勵 WordPress 使用者使用 PHP 的最新支援版本,除了更好的安全性外,它們還提供了額外的效能提升。我們並不只是在談論 WordPress,這個結論對於大部分的平臺也是適用的。今天我們將向你展示 PHP7.2 是如何打敗它面對的一切敵人的!?

今年的測評結果相比起我們以前那些 HHVM 獲勝的測評發生了大大的改變。我們很高興能看到 PHP7.2 成為目前速度最快的 PHP 引擎。關於 WordPress,有一個需要提及的重要事情,那就是 HHVM 不再被支援並將會漸漸地淡出歷史舞臺,我們不再鼓勵我們的顧客遷移到 HHVM ,同時也宣告在大量不同的平臺上支援它並不是一個好的選擇。

對於開發者和終端使用者來說這都是一個好訊息,因為這意味著我們將更多地關注 PHP,併為每個人都提供更快的網站和 web 服務。

PHP 和 HHVM 測評(2018)

對於每個測試,我們都使用了每個平臺系統的最新版本並在 15 個併發使用者的條件下對主頁跑了1分鐘的測試,下面是我們測試環境的具體細節。

  • 使用機器: 8核 Intel(R) Xeon(R) CPU @ 2.20GHz (由 Google Cloud Platform 提供並執行於一個隔離的容器中)
  • 作業系統: 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 相同的映象配置。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

複製程式碼

測試由 Thoriq Firdaus 執行,他是一位 WordPress 程式碼貢獻者以及工作於 Kinsta 的服務支援工程師。他曾經為 WordPress 的核心部分和 WordPress Indonesia 的翻譯編輯器貢獻過程式碼。

什麼是 PHP?

PHP 的全稱是超文字前處理器(Hypertext Preprocessor)。它是目前 web 界最流行的指令碼語言之一。根據 W3Techs 的調查結果,超過 83% 的網站使用 PHP 作為它們的伺服器端程式語言。

什麼是 HHVM?

由於 PHP 的效能問題,Facebook 開發了 HipHop Virtual Machine(HHVM)。它使用即時編譯(JIT)技術來將 PHP 程式碼轉換為機器語言,從而在 PHP 程式碼和驅動程式碼的底層硬體之間建立協同關係。

測試的平臺和配置

我們的測試涵蓋了如下 20 個平臺/配置。在一些平臺上,因為缺少某些特殊 PHP 版本的支援,我們需要測試該平臺多個版本的表現。點選下面任意一個連結你可以直接跳轉到該平臺的測試資訊以及結果。資料以每秒的請求量進行衡量。這個數值越大越好。

WordPress 4.9.4

我們測試的第一個平臺,理所當然應該是我們最喜歡的其中之一:WordPress(我們可能偏向於認為我們每天都在使用使用這個 CMS 系統 ?)。從它的核心來看,WordPress 是一個你能用來建立精美的網站,部落格或者 App 的開源軟體。事實上,WordPress 驅動了網際網路上超過 29% 的網站。是的,沒錯 — 你訪問的每四個網站中就可能有超過一個是由 WordPress 驅動的。

WordPress CMS

對於 WordPress 的測評,我們選擇了免費的 Twenty Seventeen 主題。並使用了由 wptest.io 生成的測試內容,通過 15 個併發使用者對主頁的訪問測試了1分鐘。

  • 文章數目:由 wptest.io 生成,10 篇/頁
  • 『搜尋』是側邊欄唯一的選單專案
  • Docker 映象派生自 hub.docker.com/_/wordpress…

WordPress benchmarks

WordPress 測試

測試結果

  • WordPress 4.9.4 PHP 5.6 測試結果: 49.18 req/sec
  • WordPress 4.9.4 PHP 7.0 測試結果: 133.55 req/sec
  • WordPress 4.9.4 PHP 7.1 測試結果: 134.24 req/sec
  • WordPress 4.9.4 PHP 7.2 測試結果: 148.80 req/sec ?
  • WordPress 4.9.4 HHVM 測試結果: 144.76 req/sec

PHP 7.2 成為了贏家,證明其比 HHVM 略快。這與 2016 年的基準相比有顯著的變化,因為在 2016 年,HHVM 顯然是贏家。WordPress 的 PHP 也更加穩定。在使用 HHVM 的過程中,我們親身經歷了很多問題。

WordPress 4.9.4 + WooCommerce 3.3.1

WooCommerce 是一個支援高度自定義,使用 WordPress 搭建的開源電子商務平臺。它也是到目前為止,最流行的電子商務解決方案之一,驅動了網際網路上超過 42% 的電子商務網站

WooCommerce

對於接下來的這個測試,我們選擇了將 WordPress 與 WooCommerce 一起安裝。並選擇了免費的 Storefront eCommerce 主題.

WordPress + WooCommerce benchmarks

WordPress + WooCommerce 測試

測試結果

  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 5.6 測試結果: 34.47 req/sec
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.0 測試結果: 84.89 req/sec
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.1 測試結果: 86.04 req/sec
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.2 測試結果: 92.60 req/sec ?
  • WordPress 4.9.4 + WooCommerce 3.3.1 HHVM 測試結果: 69.58 req/sec

WooCommerce 在使用 HHVM 的過程中遇到了一些小問題,而 PHP 7.2 以微弱優勢打敗了 PHP 7.1。

WordPress 4.9.4 + Easy Digital Downloads 2.8.18

Easy Digital Downloads (EDD),這是一款由 Pippin Williamson 編寫的,專注於幫助使用者和開發者售賣電子商品的免費的 WordPress 電子商務外掛。

Easy Digital Downloads

在瞭解清楚 WooCommerce 是怎麼運作的之後,我們採用了 WordPress 和 Easy Digital Downloads 一起安裝的方式。並使用了免費的 EDD Starter 主題

  • 商品數目: 6 (從外掛中獲取的預設商品樣例)
  • 缺失的商品列表上有 2 張圖片
  • Docker 映象派生自 hub.docker.com/_/wordpress…

WordPress + Easy Digital Downloads benchmarks

WordPress + Easy Digital Downloads 測試

測試結果

  • WordPress 4.9.4 + EDD 2.8.18 PHP 5.6 測試結果: 76.71 req/sec
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.0 測試結果: 123.83 req/sec
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.1 測試結果: 124.82 req/sec
  • WordPress 4.9.4 + EDD 2.8.18 PHP 7.2 測試結果: 135.74 req/sec ?
  • WordPress 4.9.4 + EDD 2.8.18 HHVM 測試結果: 127.74 req/sec

PHP 7.2 在 WordPress 和 Easy Digital Downloads 的測試中,毫無疑問地佔據了主導地位。

Drupal 8.4.4

Drupal 是一款開源的 CMS,它以模組化的系統和強大的開發者社群而流行。它最初於 2000 年上線,根據 W3Techs 的資料,它支援了網際網路上 2.2% 的網站,佔據了 CMS 市場 4.4% 的份額。

Drupal

對於 Drupal 的測評,我們使用了免費的 Bartik 8.4.4 主題。值得注意的一點是 Drupal 8.4.x 並不相容 PHP 7.2 (#2932574), 因此本次測試中並沒有加入這個版本的 PHP 引擎。

Drupal benchmarks

Drupal 測試

測試結果

  • Drupal 8.4.4 PHP 5.6 測試結果: 7.05 req/sec
  • Drupal 8.4.4 PHP 7.0 測試結果: 15.94 req/sec
  • Drupal 8.4.4 PHP 7.1 測試結果: 19.15 req/sec
  • Drupal 8.4.4 PHP 7.2 測試結果: (不支援的版本)
  • Drupal 8.4.4 HHVM 測試結果: 19.57 req/sec ?

因為 Drupal 的最新版本並不支援 PHP 7.2,HHVM 獲得了最高的得分。然而回顧前幾個 PHP 版本的效能提升,我們依然能夠穩定推測出 PHP 7.2 可能會更加地快。

Joomla! 3.8.5

Joomla! 是一款用於釋出 web 內容的免費開源 CMS 軟體,最初釋出於 2005 年 8 月 17 日。它是基於一個 MVC web 應用框架搭建的。根據 W3Techs 的資料,網際網路上 3.1% 的網站 都使用了它。

Joomla!

對於 Joomla! 的測試,我們使用了免費的 Beez3 模板

  • 文章數目: 4 (在安裝過程中新增的 Joomla 預設樣例文章)
  • 關閉預設側邊欄
  • Docker 映象派生自 hub.docker.com/_/joomla/

Joomla! benchmarks

Joomla! 測試

測試結果

  • Joomla! 3.8.5 PHP 5.6 測試結果: 26.42 req/sec
  • Joomla! 3.8.5 PHP 7.0 測試結果: 41.46 req/sec
  • Joomla! 3.8.5 PHP 7.1 測試結果: 41.17 req/sec
  • Joomla! 3.8.5 PHP 7.2 測試結果: 42.36 req/sec
  • Joomla! 3.8.5 HHVM 測試結果: 51.84 req/sec ?

在 Joomla! 的測試中,我們可以看到 PHP 的每個版本都有一個穩定的提升,但是 HHVM 依然成為了第一。

Magento 2 (CE) 2.1.11 + 2.2.2

Magento 是一款使用 PHP 編寫的流行的開源電子商務平臺,最初釋出於 2008 年 3 月 31 日。根據 W3Techs的資料,它驅動了網際網路上 1.2% 的站點

Magento

對於 Magento 2 的測試,我們使用了免費的 Luma 主題。我們採用了兩個版本,因為 2.1.11 是唯一一個支援 PHP 5.6的版本。我們使用了樣例資料和它自帶的預設主題進行安裝。對於額外的測試,我們使用了 2.2.2版本。Magento 2 目前為止還不支援 PHP 7.2 或者 HHVM 的最新版本。

Magento 2 benchmarks

Magento 2 測試

測試結果

  • Magento 2 (CE) 2.1.11 PHP 5.6 測試結果: 10.75 req/sec
  • Magento 2 (CE) 2.1.11 PHP 7.0 測試結果: 20.87 req/sec
  • Magento 2 (CE) 2.1.11 PHP 7.1 測試結果: 29.84 req/sec ?
  • Magento 2 (CE) 2.1.11 PHP 7.2 測試結果: not supported
  • Magento 2 (CE) 2.1.11 HHVM 測試結果: not supported

因為 Magento 2 並不支援 PHP 7.2 和最新版本的 HHVM,PHP 7.1 成為了顯然的贏家。而 PHP 每個版本之間一致的效能收益提升也讓我們印象深刻。

Grav CMS 1.3.10

Grav 是一款使用簡便,又強大且不需要資料庫的開源 CMS 軟體。某些時候這也被稱作是一種 flat-file CMS(譯者注:關於 flat-file 的解釋可見這裡)。

Grav CMS

對於 Grav CMS 的測試,我們使用了免費的 Clean Blog 腳手架。需要注意的是 **Grav CMS 不再支援 HHVM **編譯器並已經從他們的 Travis 構建中 移除了 HHVM 環境

  • 文章數目: 4 (「Clean Blog」腳手架中的預設文章)
  • 頁/檔案快取已關閉: learn.getgrav.org/advanced/pe…,而 Twig 快取依然是開啟的。

Grav CMS benchmarks

Grav CMS 測試

測試結果

  • Grav CMS 1.3.10 PHP 5.6 測試結果: 34.83 req/sec
  • Grav CMS 1.3.10 PHP 7.0 測試結果: 53.37 req/sec
  • Grav CMS 1.3.10 PHP 7.1 測試結果: 53.37 req/sec
  • Grav CMS 1.3.10 PHP 7.2 測試結果: 55.12 req/sec ?
  • Grav CMS 1.3.10 HHVM 測試結果: 不支援

我們可以在 Grav CMS 的測試中再一次看到最新版本的 PHP (7.2) 成為了顯然的贏家。

October CMS 1.0.433

October CMS 是一款免費開源,自託管且模組化的基於 Laravel PHP 框架的 CMS 平臺。它最初釋出於 2014 年 5 月 15 日。

October CMS

對於 October CMS 的測試,我們使用了免費的 Clean Blog 主題。值得注意的一點是 October CMS 不再相容 PHP 5.6 或者 HHVM。儘管我們通過在安裝程式中移除 PHP 版本檢查的方式來嘗試進行安裝,但依然在配置嚮導中出現了 500 的錯誤程式碼。

  • 文章數目: 5 篇文章加上兩個左側邊欄 (最近文章和「關注我」按鈕)

October CMS benchmarks

October CMS 測試

測試結果

  • October CMS 1.0.433 PHP 5.6 測試結果: 不支援
  • October CMS 1.0.433 PHP 7.0 測試結果: 43.83 req/sec
  • October CMS 1.0.433 PHP 7.1 測試結果: 47.95 req/sec
  • October CMS 1.0.433 PHP 7.2 測試結果: 48.87 req/sec ?
  • October CMS 1.0.433 HHVM 測試結果: 不支援

儘管有兩個引擎沒有得到支援,我們仍然可以看到 PHP 7.2 又一次勝出了。

同時我們也很高興地看到這些小型的 CMS 正在漸漸捨棄對老舊版本 PHP 的支援。儘管這是一個不那麼大的好處。不幸的是當我們在討論 WordPress 和其他佔有大量市場份額的平臺時,由於相容性問題,一切進展緩慢。

Laravel 5.4.36 + 5.6

Laravel 是一個用來開發 web 應用的,非常熱門的開源 PHP 框架。它是由 Taylor Otwell 開發的,其最初版本釋出於 2011 年 6 月。

Laravel

對於 Laravel 的測試,我們選用了一個純 HTML 的主題。測試通過多次執行並取平均值。你可以在這份 電子表格(注:須科學上網) 上看到額外的測試細節。

  • 文章數目: 10 篇,加上 Blade 模板的 foreach 迴圈
  • 資料庫包含一張表 posts
  • 資料表包含 6 個欄位 post_titlepost_contentpost_authorcreated_at,和 updated_at
  • 關閉 Session
  • 在執行測試前執行這幾條命令:composer dump-autoload –classmap-authoritative, php artisan optimize –force, php artisan config:cache, php artisan route:cache

Laravel 5.4.36 benchmarks

Laravel 5.4.36 測試

測試結果

  • 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 或者更高

Laravel 5.6 benchmarks

Laravel 5.6 測試

測試結果

  • 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 上的效能表現確實是相當好的。

Symfony 3.3.6 + 4.0.1

Symfony 是一系列可複用的 PHP 元件以及一個用來搭建 web 應用,APIs,微服務,和 web 服務的 PHP 框架。它的最初版本釋出於 2005 年 10 月 22 日。

Symfony

對於 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

Symfony 3.3.6 benchmarks

Symfony 3.3.6 測試

測試結果

  • 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 錯誤了。

Symfony 4.0.1 benchmarks

Symfony 4.0.1 測試

測試結果

  • 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 再一次獲得了第一名。

PyroCMS 3.4.14

PyroCMS 是一款開源且高效的 Laravel 外掛,它能讓你在基於框架的基礎上開發網站和應用時如虎添翼。

PyroCMS

對於 PyroCMS 的測試,我們選用了免費的 Accelerant 主題 (PyroCMS 的預設主題)。需要注意的是 PyroCMS 並不能在 HHVM 上正常工作,可能是它依賴於 Laravel 的原因。

  • 文章數目: 5
  • Debug 模式開啟 (APP_DEBUG=true)

PyroCMS benchmarks

PyroCMS 測試

測試結果

  • PyroCMS 3.4.14 PHP 5.6 測試結果: 不支援
  • PyroCMS 3.4.14 PHP 7.0 測試結果: 27.33 req/sec
  • PyroCMS 3.4.14 PHP 7.1 測試結果: 27.81 req/sec
  • PyroCMS 3.4.14 PHP 7.2 測試結果: 29.28 req/sec ?
  • PyroCMS 3.4.14 HHVM 測試結果: 不支援

儘管各個版本在 PyroCMS 上的測試結果非常接近,但是 PHP 7.2 確實再次地贏下了這次測試。

Pagekit 1.0.13

Pagekit 是一款由 YOOtheme 創立的開源且模組化的輕量級 CMS 軟體。它賦予了你用來建立漂亮網站的工具。它的最初版本釋出於 2016 年的春天。

pagekit

對於 Pagekit 的測試,我們選用了免費的 One 主題 (Pagekit 的預設主題)。

  • 文章數目: 5
  • 關閉快取
  • 測試的 URL: /blog

Pagekit benchmarks

Pagekit 測試

測試結果

  • Pagekit 1.0.13 PHP 5.6 測試結果: 51.70 req/sec
  • Pagekit 1.0.13 PHP 7.0 測試結果: 108.61 req/sec
  • Pagekit 1.0.13 PHP 7.1 測試結果: 112.30 req/sec
  • Pagekit 1.0.13 PHP 7.2 測試結果: 116.18 req/sec ?
  • Pagekit 1.0.13 HHVM 測試結果: 61.16 req/sec

Pagekit 在 HHVM 上執行時遇到了一些小問題。很顯然,PHP 7.2 已經超神了。

Bolt CMS 3.4.8

Bolt CMS,又稱 Bolt,是一款盡其所能做到簡單粗暴的開源內容管理工具。它是基於 Silex 和 Symfony 的一系列元件開發的,使用 Twig 作為模板語言,還有其他諸如 SQLite,MySQL 或者 PostgreSQL 等作為資料庫儲存方案。

Bolt CMS

對於 Bolt CMS 的測試,我們選用了免費的 Bolt Base 2016 主題。需要注意的是其 **並不支援 HHVM ** (#6921).

  • 文章數目: 5
  • 測試的 URL: /entries
  • 開啟 Session

Bolt CMS benchmarks

Bolt CMS 測試

測試結果

  • Bolt CMS 3.4.8 PHP 5.6 測試結果: 33.45 req/sec
  • Bolt CMS 3.4.8 PHP 7.0 測試結果: 60.21 req/sec
  • Bolt CMS 3.4.8 PHP 7.1 測試結果: 67.96 req/sec
  • Bolt CMS 3.4.8 PHP 7.2 測試結果: 72.05 req/sec ?
  • Bolt CMS 3.4.8 HHVM 測試結果: 不支援

在這一次測試中,我們可以看到一個明顯的跡象,那就是每當 PHP 釋出一個新版本,Bolt CMS 都有一個穩定的效能提升。

Anchor CMS 0.12.6 (預釋出版本)

Anchor 是一個極簡主義的,開源的輕量級部落格系統,它的創始初衷是為了「let you just write」。

Anchor CMS

對於 Anchor CMS 的測試,我們選用了由 Visual Idiot 開發的免費 預設主題

  • 文章數目: 5

Anchor CMS benchmarks

Anchor CMS 測試

測試結果

  • 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 和 7.2 版本之間的測試結果相當接近。但 PHP 7.1 版本還是以微弱的效能優勢領先。

PrestaShop 1.7.2.4

PrestaShop 是一款很熱門且正處於飛速發展中的開源電子商務解決方案。它的最初版本釋出於 2008 年 7 月 31 日,根據 W3Techs 的資料,網際網路上有 0.6% 的網站 使用了它。

PrestaShop

對於 PrestaShop 的測試,我們選用了免費的 經典主題。要注意的一點是 PrestaShop 並不支援 HHVM.

  • 商品數目: 7 (預設樣例商品)
  • 測試的 URL: /index.php
  • 頁面快取: 關閉,智慧快取: 開啟

PrestaShop benchmarks

PrestaShop 測試

測試結果

  • 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 測試結果: 不支援

測試結果 7.0 版本之後的 PHP 之間旗鼓相當,但是 PHP 7.2 最終還是以細微的差距擠上了頭名的位置。

Craft CMS 2.6.3011

Craft CMS 是一款專注於為開發者,設計師和 web 專家提供靈活性,強大性以及客戶端易用性的 CMS 軟體。

Craft CMS

對於 Craft CMS 的測試,我們選用了免費的 預設主題.

  • 文章數目: 5
  • 測試的 URL: /index.php?p=news
  • CraftCMS 自帶了一份 Dockerfile。我們自定義了一部分以使其相容 Nginx。

Craft CMS benchmarks

Craft CMS 測試

測試結果

  • Craft CMS 2.6.3011 PHP 5.6 測試結果: 131.04 req/sec
  • Craft CMS 2.6.3011 PHP 7.0 測試結果: 266.54 req/sec
  • Craft CMS 2.6.3011 PHP 7.1 測試結果: 272.14 req/sec
  • Craft CMS 2.6.3011 PHP 7.2 測試結果: 280.02 req/sec ?
  • Craft CMS 2.6.3011 HHVM 測試結果: 26.28 req/sec

Craft CMS 在 HHVM 上並沒有表現好。但是在 PHP 7.2 上卻是相當的快!

Fork CMS 5.2.2

Fork 是一款使用了 Symfony 元件開發的使用方便的 CMS 軟體。對於 Fork CMS 的測試,我們選用了免費的預設 Fork 主題。需要注意的是 Fork CMS 要求 PHP 版本為 7.1 或者更高,而且不支援 HHVM

  • 文章數目: 2 (從 ForkCMS 中獲取的預設樣例資料)
  • 測試的 URL: /modules/blog

Fork CMS benchmarks

Fork CMS 測試

測試結果

  • 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 req/sec
  • Fork CMS 5.2.2 PHP 7.2 測試結果: 12.83 req/sec ?
  • Fork CMS 5.2.2 HHVM 測試結果: 不支援

本次測試中,PHP 7.2 在效能方面擊敗了 PHP 7.1。

現在在 Kinsta 上升級到 PHP 7.2

如果上面的結果仍不能使你信服,那我們也不知道還有什麼可以!溫馨提示,如果你是 Kinsta 的客戶,我們在 2017 年的十二月就釋出了對於 PHP 7.2 的支援。如果你想看到效能的提升,你只需在你的 MyKinsta 後臺通過輕輕一點來切換到 PHP 7.2 版本即可。

Changing the WordPress PHP version on Kinsta

在 Kinsta 上切換到 PHP 7.2

如果你擔心會與一些第三方外掛產生相容性問題的話(這確實可能會發生),我們的測試站點功能就可以排上用場了。? 你可以隨意進行測試而不用擔心破壞掉你的生產環境。

本次測試的總結

就像你很清晰地從上面所有測試中看到的一樣,PHP 7.2 在多個平臺的效能上已經成為了領頭羊. ?

  • 在上面測試的20種配置中,PHP 7.2 有 14 次是速度最快的引擎。其中還有兩個(Drupal 和 Magento )不支援PHP 7.2,所以這個比例可能高達 16/20。
  • 而對於 WordPress 來說,PHP 7.2 是所有測試中最快的 (包含 WordPress 站點,WooCommerce,和 Easy Digital Downloads).
  • 在許多基準測試結果中,你可以很輕易地發現 PHP 新版本與效能提升是成正比的。這也就是為什麼測試你的站點、外掛並堅持定期升級計劃是如此的重要。你的訪問者和客戶將會因為他們享受到的速度而感謝你!
  • 如果你的空間提供商並沒有提供新版本的 PHP,那你可能是時候要考慮進行遷移了。

我們對於 PHP 7.2 感到十分興奮,期待你也與我們一樣!我們很樂意聽到您對於我們的測評的看法或者是您的升級攻略,請將您想說的留在下方的評論中。


這篇文章是由 Mark Gavalda 編寫的。Mark 在市場,web 設計和開發領域擁有多年的帶隊經驗。作為一個開發者,他利用他在 WP 領域的專業知識來收集關於如何建立一個可靠且對使用者友好的託管公司的訣竅。他是一名從不停止學習新技能的自學者和城市自行車手。


掘金翻譯計劃 是一個翻譯優質網際網路技術文章的社群,文章來源為 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章