2021年對於PHP來說是多事之秋。PHP 8.0已經一歲了,萬眾矚目的PHP 8.1於2021年11月25日釋出,帶來了許多令人興奮的功能。您可以在我們的深入文章中瞭解所有最新的PHP 8.1功能。
我們針對各種PHP平臺釋出深入的效能基準測試,以瞭解不同的PHP版本如何相互疊加。今年,我們在14個獨特的PHP平臺/配置中對5個不同的PHP版本進行了基準測試,包括WordPress、Drupal、Joomla、Laravel、Symfony等等。我們還測試了其他流行的PHP平臺,例如WooCommerce、Easy Digital Downloads、October CMS和Grav。
我們始終鼓勵使用受支援的最新PHP版本。它們不僅是最安全的,而且還提供了許多效能改進。今天,我們將向您展示PHP 8.0和8.1如何在幾乎所有我們與之抗衡的事物中脫穎而出。
PHP 是最常用的伺服器端程式語言之一,為約 76% 的活躍網站提供動力。每年,我們都會發布針對各種 PHP 框架的深度效能基準測試,以瞭解不同 PHP 版本之間的對比情況。
2023 年 12 月,我們對 11 個內容管理系統 (CMS) 和框架的 PHP 8.1、8.2 和 8.3 進行了基準測試: WordPress、WooCommerce、Drupal(第 7 版和第 10 版)、Joomla、Laravel、Symfony、CodeIgniter、Craft CMS、Typo3、Opencart 和 Statamic。我們還在 PHP 7.4 上對 WordPress 和 WooCommerce 進行了基準測試,因為許多網站仍在該版本上執行。
作為最佳實踐,我們建議始終使用最新的 PHP 版本,以優化效能和安全性。
我們的 PHP 基準測試
為了評估內容管理系統或框架在最新 PHP 版本下的效能,我們進行了基準測試。為了保持一致性,我們對每個測試的 CMS 或框架都使用了相同的機器和引數。
本文中的基準測試在以下環境中進行:
- 機器:英特爾 Cascade Lake(30 核 CPU),主頻 3.10GHz,120GB 記憶體,1TB 硬碟。由谷歌雲平臺支援的計算優化(C2)虛擬機器,在隔離容器中執行。
- 作業系統:Ubuntu 20.04.6 LTS (Focal Fossa)。
- 內容管理系統和框架:預設設定,在
nginx-fpm
上安裝了 DDEV v1.22.5amd64
,作為基於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)表示。結果越高,響應速度越快。
- 併發量:同時 15 個請求。
- 測試結果:每秒獲得的請求數(req/s)。結果越高,響應越快。
內容管理系統和框架
PHP 以其豐富的框架和 CMS 庫而聞名。我們在選擇測試物件時考慮了幾個方面,包括:
- 受歡迎程度
- 實時網站
- 市場地位
- 使用趨勢
- 搜尋量(美國)
例如,WordPress 在整個內容管理系統市場上的份額高達 62%,擁有超過 3400 萬個實時網站,而且隨著時間的推移,其使用率也在急劇上升。
另一方面,雖然 Statamic 在網路上的影響力較小,只有大約 10,000 個網站,但它的快速增長和日益普及引起了我們的關注。
我們還將 Symfony 包括在內。雖然與之前的飆升相比,Symfony 在過去幾年中的受歡迎程度有所下降,但它仍然擁有許多活躍網站和龐大的月搜尋量。
我們選擇的其他內容管理系統和框架也符合同樣的標準。
讓我們來看看結果。
WordPress 基準測試
WordPress 是一種開源內容管理系統,讓您無需任何程式設計知識就能輕鬆管理網站的重要方面。WordPress 對初學者非常友好,您不需要知道如何編寫程式碼就可以安裝和維護它,因此它對任何不懂程式設計的人來說都非常有吸引力,讓他們可以建立自己的網站、部落格或網店。
WordPress 支援超過 42% 的實時網站。換個角度看,WordPress 佔所有知名內容管理系統的 62%。
開源 WordPress 生態系統對於那些希望在一個強大、靈活、可靠的平臺上構建應用程式的經驗豐富的程式設計師來說是一個福音。
WordPress 還被廣泛用作無頭後端內容管理系統,適用於使用 React、Vue.js 等現代前端框架構建的應用程式。您可以將 WordPress 內容管理功能與 Gatsby、Hugo、VuePress 和 Next.js 等靜態網站生成器結合使用。
您還可以為整個 WordPress 網站建立靜態版本,以提高安全性和效能。這些現代方法首先為動態、時尚和閃亮的網路應用程式提供了一個可靠的平臺,從而脫穎而出,吸引訪客。
- 測試版本:WordPress 6.2.2.
- 測試連結:
/
- 頁面大小:52,684,000 位元組。
- 測試結果:
- PHP 7.4: 147 請求/秒。
- PHP 8.1: 151 請求/秒。
- PHP 8.2: 153 請求/秒。
- PHP 8.3: 165 請求/秒。
WordPress 6.2.2 在 PHP 7.4、8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
WordPress 的 PHP 版本越新,效能越好。而且越新越好。對於關心 WordPress 網站安全和效能的人來說,升級到 PHP 8.3 是必須的。
要充分利用 WordPress,請學習如何提高網站速度。眾所周知,WordPress 需要一個效能良好的伺服器。
WooCommerce 基準測試
WooCommerce 是最常用的線上銷售平臺。它可以幫助商家和開發人員建立長期成功的業務。WooCommerce 擁有網際網路上近 20% 的電子商務網站,它可定製、開源並基於 WordPress 構建。有了 WooCommerce,您就擁有了安全、成熟、可靠的線上銷售基礎設施。此外,您還可以利用 WordPress 的外掛、WP-CLI、鉤子、過濾器和 REST API 端點來管理您的商店。
- 測試版本: 部署在 WordPress 6.2.2 上的 Woo 7.9.0。
- 測試連結:
/product/product/
- 頁面大小:57,470,000 位元組。
- 結果:
- PHP 7.4: 48 請求/秒。
- PHP 8.1: 49 請求/秒。
- PHP 8.2: 49 請求/秒。
- PHP 8.3: 58 請求/秒。
WooCommerce 7.9.0 在 WordPress 6.2.2、PHP 7.4、8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
如果您的 WooCommerce 網站使用的是舊版本的 PHP,請考慮儘快升級,以獲得 PHP 8.3 的效能提升。
Laravel 基準測試
Laravel 是一個開源 PHP 框架,為網路開發人員提供了構建現代 PHP 網路應用程式的工具和資源。命令列介面(Artisan)、本地身份驗證和模型-檢視-控制器(MVC)架構模式等內建功能使 Laravel 功能多樣、易於使用,因而越來越受歡迎。
- 測試版本:Laravel 10.16.1。
- 測試連結:
/
- 頁面大小:27,514,000 位元組。
- 測試結果:
- PHP 8.1: 611 請求/秒。
- PHP 8.2: 670 請求/秒。
- PHP 8.3: 925 請求/秒。
Laravel 10.16.1 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
當從 PHP 8.1 升級到 8.2 時,Laravel 的效能大幅提升。使用 PHP 8.3,效能比 8.2 又提高了 38%。升級到 8.3 完全沒有問題。
Drupal 基準測試
Drupal 是一個功能強大、可擴充套件的內容管理系統,具有強大的標準功能,如簡單的內容創作、可靠的效能、出色的安全性、靈活性和模組化,這是其核心原則之一。它的工具可以幫助你建立動態網路體驗所需的多功能、結構化內容。
它是建立整合數字框架的最佳選擇,因為你可以用許多附加元件來擴充套件它。Drupal 更像是一個 CMS 開發平臺,而不是一個開箱即用的網站。
2011 年釋出的 Drupal 7 一直是其使用率最高的版本,因此我們將其與 Drupal 10(其最新和改進最大的版本)一起進行了基準測試。
Drupal 7 的生命週期原定於 2023 年 12 月結束,但後來延長到了 2025 年 1 月,以便使用者有更多時間進行遷移。
- 測試版本:Drupal 10.1.1 和 7.98.
- 測試連結:
/
- 頁面大小:19,102,000 bytes (Drupal 10); 8,075,000 bytes (Drupal 7).
- 結果 (Drupal 10):
- PHP 8.1: 922 請求/秒。
- PHP 8.2: 941 請求/秒。
- PHP 8.3: 1432 請求/秒。
- 結果 (Drupal 7):
- PHP 8.1: 661 請求/秒。
- PHP 8.2: 753 請求/秒。
- PHP 8.3: 823 請求/秒。
Drupal 7.98 和 Drupal 10.1.1 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
如果您仍在使用舊版本的 Drupal,除了利用所有新功能和即將到來的改進之外,出於效能和安全考慮,請考慮更新它。對於大多數 Drupal 社羣來說,Drupal 8、9 和 10 之間的更新是無縫的。值得從 7 升級到 8,以便為 Drupal 10 做好準備並快速執行。
從基準測試結果來看,從 Drupal 7 升級到 10 顯然能顯著提高效能。將 PHP 8.3 與 Drupal 10 結合使用,可以極大地提高速度,滿足訪客的需求,讓他們持續參與進來,因此升級是最明智之舉。
Joomla 基準測試
Joomla 是一種流行的開源內容管理系統,基於模型-檢視-控制器網路應用程式框架,可獨立於內容管理系統用於構建線上應用程式。它的特點是系統靈活,擴充套件庫龐大,易於擴充套件和定製。Joomla 具有內建的搜尋優化功能,並因在漏洞傳播之前迅速釋出安全補丁而享有盛譽。
- 測試版本: Joomla 4.3.3.
- 測試連結:
/
- 頁面大小:8,111,000 位元組。
- 測試結果:
- PHP 8.1: 274 請求/秒。
- PHP 8.2: 265 請求/秒。
- PHP 8.3: 341 請求/秒。
Joomla 4.3.3 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
在我們的測試中,Joomla 的 PHP 8.1 和 8.2 基準差異不大。而 PHP 8.3 的效能則提高了近 30%,因此 8.3 是執行網站的最明智選擇。
Symfony 基準測試
Symfony 是一個豐富、靈活的後端框架,適用於複雜的應用程式。它的 MVC 架構提供了專為構建系統化、可擴充套件的 PHP 網路應用程式而設計的工具和功能,包括支援多種環境和強大的快取系統。
它在開源社羣中很受歡迎,並提供了大量元件和捆綁包。對於實現長期業務目標和吸引大量受眾的網站來說,Symfony 是一個不錯的選擇。
- 測試版本: Symfony 6.3.0.
- 測試連結:
/
- 大小: 559,000 位元組。
- 結果:
- PHP 8.1: 931 請求/秒。
- PHP 8.2: 997 請求/秒。
- PHP 8.3: 1182 請求/秒。
Symfony 6.3.0 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
Symfony 本身速度就很快。在我們的測試中,PHP 8.1 和 8.2 的效能相差無幾,但 8.3 比它們都要快。
CodeIgniter 基準測試
CodeIgniter 是一個 PHP 框架,專為需要簡單工具包來建立全功能網路應用程式的開發人員而設計。它採用 MVC 方法來培養簡潔性。它的核心繫統佔用空間極小,只需要幾個小型庫,其預設登陸頁面的效能優於我們測試過的所有平臺和框架。您可以從小規模開始,速度快得令人難以置信,然後根據需要進行擴充套件。
- 測試版本:CodeIgniter 4.3.6.
- 測試連結:
/
- 頁面大小:17,776,993 位元組。
- 測試結果:
- PHP 8.1: 1120 請求/秒。
- PHP 8.2: 1180 請求/秒。
- PHP 8.3: 1684 請求/秒。
CodeIgniter 4.3.6 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
CodeIgniter 的預設安裝速度很快,非常快。PHP 8.1 和 8.2 的基準測試結果相似,8.2 略快於 8.1。PHP 8.3 的效能提高了 42%,因此升級 PHP 8.3 是完全沒有問題的。
Craft CMS 基準測試
Craft CMS 是一個開源平臺,專為建立營銷和電子商務網站而設計。Craft 的理念是圍繞內容而不是相反來構建 CMS。憑藉直觀的使用者介面和完全可定製的後臺,Craft 可充分利用內容建立功能,讓您可以將更多時間用於製作內容,而不是用於構建網站。
- 測試版本:Craft 4.4.16.1.
- 測試連結:
/
- 頁面大小:6,594,000 位元組。
- 測試結果:
- PHP 8.1: 358 請求/秒。
- PHP 8.2: 354 請求/秒。
- PHP 8.3: 443 請求/秒。
Craft CMS 4.4.16.1 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
在 PHP 8.1 和 8.2 上執行時,Craft 的效能類似,但 PHP 8.3 又將網站效能提高了約 25%。
OpenCart 基準測試
OpenCart 是一個開放原始碼的電子商務管理平臺,可以從一個後臺處理一個或多個線上商店。OpenCart 擁有友好的使用者介面,使網站管理員和終端使用者可以更輕鬆地進行導航。我們的理念是,您只需花最少的精力就能建立並執行一個網店,然後使用可用的擴充套件功能對其進行定製。
- 測試版本:OpenCart 4.0.2.2.
- 測試連結:
/
- 頁面大小:33,014,000 位元組。
- 測試結果:
- PHP 8.1: 151 請求/秒。
- PHP 8.2: 154 請求/秒。
- PHP 8.3: 164 請求/秒。
OpenCart 4.0.2.2 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
OpenCart 在 PHP 8.1 上執行流暢,在 8.2 上執行速度稍快,而 8.3 則大大提高了它的效能,並邀請您升級。
Statamic 基準測試
Statamic 是基於 Laravel 的開源內容管理系統。它是一個高度靈活的框架,可以將內容、模板、資產和設定儲存在檔案而不是資料庫中,從而使版本控制變得輕而易舉。它能適應你的需求,讓你邊做邊建。如果你的內容在資料庫中,你可以將它連線到資料庫。你還可以匯出到靜態網站,在前端無需使用 Laravel 和 PHP。
- 測試版本:Statamic 4.13.2.
- 測試連結:
/
- 頁面大小:7,233,000 位元組。
- 測試結果:
- PHP 8.1: 58 請求/秒。
- PHP 8.2: 64 請求/秒。
- PHP 8.3: 72 請求/秒。
Statamic 4.13.2 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
每次 PHP 小版本升級,Statamic 的效能都會提高。使用 PHP 8.2,速度比 8.1 提高約 10%。升級到 8.3 會提高約 12%。
Typo3 基準測試
Typo3 是一個開源內容管理系統,採用多層系統,提供 API 以訪問資料庫中記錄的資訊,如內容、使用者許可權和訪問、內容編輯和檔案管理。Typo3 可通過外掛、後臺模組、面板和第三方應用程式進行擴充套件。它是一個強大而可靠的系統,甚至可以支援大型網站
- 測試版本:Typo3 12.4.4.
- 測試連結:
/
- 頁面大小:2,085,000 位元組。
- 測試結果:
- PHP 8.1: 509 請求/秒。
- PHP 8.2: 461 請求/秒。
- PHP 8.3: 598 請求/秒。
Typo3 12.4.4 在 PHP 8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
在我們的測試中,Typo3 在 PHP 8.1 下的效能略好於 8.2,這一點令人驚訝。但考慮到出色的效能和更高的安全性,升級到 8.3 是最好的選擇。
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 仍是網路應用程式的主要程式語言。超過 76% 的網站使用伺服器端指令碼:
伺服器端網路應用程式的分佈(W3Techs)。
如果我們看一下伺服器端程式語言的市場地位,就會發現 JavaScript 在高流量應用程式的開發者中很受歡迎,而 PHP 則出現在更多的網站上。
伺服器端程式語言的市場地位。(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.3。先升級到 8.0,然後進行調整和測試。然後,升級到 8.1,進行調整和測試。然後升級到 8.2,最後升級到 8.3。
注:升級您經常使用的所有軟體有助於提高網際網路的速度和安全性。
小結
簡而言之,大多數經過測試的內容管理系統和框架都能在較新的 PHP 版本下執行得更好。在可能的情況下,選擇在最新版本的技術棧中執行應用程式。
所有測試的內容管理系統和框架在 PHP 7.4、8.1、8.2 和 8.3 上的效能(以請求/秒為單位)。
PHP 8.3 提供了出色的結果。除了新功能和更新外,8.3 還被證明是我們測試中速度最快的版本,為受測的 CMS 和框架提供了高達 52.20% 的效能提升。
PHP 8.3 與 PHP 8.2 相比的效能提升(%)。
在官方遷移指南中瞭解如何從 PHP 8.2 遷移到 8.3。
說到網站和應用程式的效能,一切都要從良好的託管開始。如果伺服器是瓶頸,那麼即使您在應用程式優化方面投入巨資也無濟於事。
如果在您最需要的時候,您的伺服器無法處理大流量高峰,那麼您花再多錢購買便宜的主機也是不值得的。如果網站經常不可用,再漂亮的網站也沒有用。
評論留言