Post view

Dolphin 7.4與PHP 7.1.23的首頁開啟速度比舊版Dolphin 7.3.5與PHP 5.5.38還要慢?簡化後終於更快!

請先閱讀前面這篇文章:

Dolphin 7.3.5與PHP 5.5.38、Dolphin 7.4與PHP 7.1.23執行速度效能大測試!

Dolphin 7.3.5與PHP 5.5.38,經過網頁檔案快取與最佳化的首頁執行速度

這是在Mac mini (2012) 電腦上(有開啟「OPcache快取」)測試升級以前的insoler網站的首頁的執行速度:

2019-03-02 12:16:44 PHP 程式的執行時間:0.091秒

Dolphin 7.4與PHP 7.1.23,經過網頁檔案快取與最佳化的首頁執行速度

這是在Mac mini (2012) 電腦上(有開啟「OPcache快取」)測試升級以後的insoler網站的首頁的執行速度:

2019-03-13 17:53:07 PHP 程式的執行時間:0.138秒

2019-03-13 17:58:24 PHP 程式的執行時間:0.203秒

  • 舊的Dolphin 7.3.5版本的「index.php」網站首頁的執行時間,全部都低於0.1秒,最慢的成績也是0.09秒!
  • 升級到Dolphin 7.4以後,似乎就比較慢一點,常常高於0.1秒,有時候還會看到「0.20秒」這樣的數字!

Dolphin 7.3.5與PHP 5.5.38、Dolphin 7.4與PHP 5.5.38的測試結果

簡單的說,「Dolphin 7.3.5與PHP 5.5.38最佳化版本」由於PHP 5.5.38的執行速度比PHP 7.1更慢將近2倍,因此如果是可以執行「Dolphin 7.3.5與PHP 7.1.23最佳化版本」的話(實際上不可能,舊的海豚7.3.5只能在PHP 5.5上執行),我相信insoler首頁的執行時間,應該會比0.1秒還要更快!甚至只要0.05秒以下!

但是更複雜的Dolphin 7.4的PHP程式碼,完全抵消了PHP 7.1比PHP 5.5更快2倍的優勢!

Dolphin 7.3.5:PHP 5.5.38程式的執行時間:0.18秒。

Dolphin 7.4.0:PHP 5.5.38程式的執行時間:0.26秒。

使得就算是「Dolphin 7.4.0:PHP 7.1.23」經過最佳化以後,也只能盡量跑出0.1秒〜0.2秒左右的成績。如果想要把insoler首頁的執行時間縮短到只有0.05秒以下,我想大概只能依靠「更換全新的電腦主機」才有辦法辦到。

只靠「開啟OPcache快取」以及「最佳化PHP程式碼」「最佳化MySQL查詢指令」畢竟還是有某種程度的「軟體極限」。

你可以看到舊版首頁的執行時間只要「0.18秒」,新的首頁卻需要「0.26秒」,大約慢了1.4倍左右!看到這種結果,不得不讓人懷疑「PHP 7」真的更快?還是只有比PHP 5.6還要快,但卻沒有比PHP 5.5.38還要快?

在這篇訪問「PHP之父」的文章中,「PHP之父」有提到:

【直擊Modern Web 2015】PHP之父揭露PHP 7新版大變革

過去PHP重視功能完整性,效能表現經常遭人詬病,而臉書自行開發的PHP版本HHVM,讓大家開始重視PHP的效能表現。不過,開發者還是在功能完整的傳統PHP,及超高效能的HHVM間抉擇。PHP 7兼顧功能及效能,未來使用者不需要在兩者之間取捨。

從這樣來看,PHP 7在「PHP之父」提到的「理論上」應該會比前一個版本PHP 5.6(PHP 6研發失敗,沒有公開釋出,而是重新思考)或是更舊的PHP 5.5還要更快才對!

由於我是使用3台CPU規格、配備完全相同的Mac mini主機來架設insoler網站。而且幾乎完全沒有改變舊版的insoler網站,所以這3台Mac mini目前擔任的工作是:

  • Mac mini 1:安裝Dolphin 7.4.0與PHP 7.1.23,使用的系統是macOS High Sierra 10.13.6。這是重新安裝的insoler網站主機。
  • Mac mini 2:安裝Dolphin 7.3.5與PHP 5.5.38,使用的系統是OS X El Capitan 10.11.6。這是舊的的insoler網站主機。
  • Mac mini 3:安裝MySQL Server資料庫伺服器的版本:5.6.41,使用的系統是macOS Mojave 10.14.3。

由於Mac mini 1與Mac mini 2都同時連接到相同的MySQL資料庫主機,因此無論是開啟新的insoler網站,還是舊的insoler網站,都會看到完全相同的畫面。只是舊的insoler網站會因為無法開啟USB外接硬碟的照片,所以會無法顯示照片內容。

新的insoler網站的首頁,使用Dolphin 7.4.0與PHP 7.1.23

新的insoler網站的討論區首頁,使用Dolphin 7.4.0與PHP 7.1.23

舊的insoler網站的首頁,使用Dolphin 7.3.5與PHP 5.5.38

舊的insoler網站的討論區首頁,使用Dolphin 7.3.5與PHP 5.5.38

新的insoler網站首頁的「Zend OPcache」的PHP內建快取模組的網頁畫面,使用PHP 7.1.23

Dolphin 7.4與PHP 7.1.23的執行結果:

2019-03-23 04:24:33 新的insoler首頁的index.php程式執行時間:0.04759693145752

2019-03-23 04:25:32 新的insoler首頁的index.php程式執行時間:0.044617176055908

2019-03-23 04:25:37 新的insoler首頁的index.php程式執行時間:0.038790941238403

2019-03-23 04:25:43 新的insoler首頁的index.php程式執行時間:0.053683996200562

2019-03-23 04:25:55 新的insoler首頁的index.php程式執行時間:0.04240608215332

2019-03-23 04:26:05 新的insoler首頁的index.php程式執行時間:0.039767026901245

2019-03-23 04:26:39 新的insoler首頁的index.php程式執行時間:0.042914867401123

2019-03-23 04:26:58 新的insoler首頁的index.php程式執行時間:0.040153980255127

2019-03-23 04:27:17 新的insoler首頁的index.php程式執行時間:0.041821956634521

2019-03-23 04:27:42 新的insoler首頁的index.php程式執行時間:0.038834095001221

 

2019-03-23 04:24:18 新的insoler討論區首頁的index.php程式執行時間:0.094640016555786

2019-03-23 04:24:38 新的insoler討論區首頁的index.php程式執行時間:0.061956167221069

2019-03-23 04:24:47 新的insoler討論區首頁的index.php程式執行時間:0.14963507652283

2019-03-23 04:25:09 新的insoler討論區首頁的index.php程式執行時間:0.15211296081543

2019-03-23 04:25:12 新的insoler討論區首頁的index.php程式執行時間:0.14698100090027

2019-03-23 04:25:20 新的insoler討論區首頁的index.php程式執行時間:0.14414501190186

2019-03-23 04:25:23 新的insoler討論區首頁的index.php程式執行時間:0.14887595176697

2019-03-23 04:25:27 新的insoler討論區首頁的index.php程式執行時間:0.068391084671021

2019-03-23 04:25:28 新的insoler討論區首頁的index.php程式執行時間:0.13441705703735

2019-03-23 04:25:33 新的insoler討論區首頁的index.php程式執行時間:0.05846905708313

2019-03-23 04:25:38 新的insoler討論區首頁的index.php程式執行時間:0.063179016113281

2019-03-23 04:26:07 新的insoler討論區首頁的index.php程式執行時間:0.063259840011597

2019-03-23 04:26:26 新的insoler討論區首頁的index.php程式執行時間:0.12290191650391

舊的insoler網站首頁的「Zend OPcache」的PHP外掛快取模組的網頁畫面,使用PHP 5.5.38

2019-03-21 07:52:42 舊的insoler首頁的index.php程式執行時間:0.28213715553284

2019-03-21 07:52:50 舊的insoler首頁的index.php程式執行時間:0.11498785018921

2019-03-21 07:59:48 舊的insoler首頁的index.php程式執行時間:0.12390398979187

2019-03-21 07:59:56 舊的insoler首頁的index.php程式執行時間:0.11326909065247

2019-03-21 08:00:46 舊的insoler首頁的index.php程式執行時間:0.10919499397278

2019-03-21 08:00:52 舊的insoler首頁的index.php程式執行時間:0.12674498558044

2019-03-21 08:01:46 舊的insoler首頁的index.php程式執行時間:0.10914301872253

2019-03-21 08:02:09 舊的insoler首頁的index.php程式執行時間:0.12132692337036

2019-03-21 08:02:24 舊的insoler首頁的index.php程式執行時間:0.11018013954163

2019-03-21 08:03:53 舊的insoler首頁的index.php程式執行時間:0.12141108512878

2019-03-21 08:06:05 舊的insoler首頁的index.php程式執行時間:0.11841702461243

2019-03-21 08:06:51 舊的insoler首頁的index.php程式執行時間:0.11024403572083

2019-03-21 08:07:20 舊的insoler首頁的index.php程式執行時間:0.12737393379211

2019-03-21 08:07:57 舊的insoler首頁的index.php程式執行時間:0.11159300804138

2019-03-21 08:18:20 舊的insoler首頁的index.php程式執行時間:0.12572002410889

2019-03-21 08:25:17 舊的insoler首頁的index.php程式執行時間:0.16517615318298

2019-03-21 08:29:42 舊的insoler首頁的index.php程式執行時間:0.14047694206238

2019-03-21 08:32:55 舊的insoler首頁的index.php程式執行時間:0.27899289131165

 

2019-03-21 06:22:58 舊的insoler討論區首頁的index.php程式執行時間:1.3829889297485

2019-03-21 06:23:04 舊的insoler討論區首頁的index.php程式執行時間:1.364394903183

2019-03-21 06:24:19 舊的insoler討論區首頁的index.php程式執行時間:1.3695659637451

2019-03-21 07:52:46 舊的insoler討論區首頁的index.php程式執行時間:1.2729041576385

2019-03-21 07:53:12 舊的insoler討論區首頁的index.php程式執行時間:1.3708980083466

2019-03-21 07:58:23 舊的insoler討論區首頁的index.php程式執行時間:1.377758026123

2019-03-21 07:59:14 舊的insoler討論區首頁的index.php程式執行時間:1.3690609931946

2019-03-21 08:00:50 舊的insoler討論區首頁的index.php程式執行時間:1.3598039150238

2019-03-21 08:02:29 舊的insoler討論區首頁的index.php程式執行時間:1.3661921024323

2019-03-21 08:02:51 舊的insoler討論區首頁的index.php程式執行時間:1.389044046402

2019-03-21 08:03:58 舊的insoler討論區首頁的index.php程式執行時間:1.3803269863129

2019-03-21 08:05:53 舊的insoler討論區首頁的index.php程式執行時間:1.3756580352783

2019-03-21 08:06:00 舊的insoler討論區首頁的index.php程式執行時間:1.3793530464172

2019-03-21 08:07:11 舊的insoler討論區首頁的index.php程式執行時間:1.3965740203857

2019-03-21 08:07:18 舊的insoler討論區首頁的index.php程式執行時間:1.3715488910675

2019-03-21 08:07:24 舊的insoler討論區首頁的index.php程式執行時間:1.3630659580231

2019-03-21 08:08:00 舊的insoler討論區首頁的index.php程式執行時間:1.3869700431824

底下是關閉「Zend OPcache extension」PHP專用快取的外掛模組的測試結果:

The Zend OPcache extension does not appear to be installed

2019-03-23 04:38:15 舊的insoler首頁的index.php程式執行時間:0.16565299034119

2019-03-23 04:39:00 舊的insoler首頁的index.php程式執行時間:0.16908812522888

2019-03-23 04:43:13 舊的insoler首頁的index.php程式執行時間:0.20306587219238

2019-03-23 04:43:20 舊的insoler首頁的index.php程式執行時間:0.15689706802368

 

2019-03-23 04:43:17 舊的insoler討論區首頁的index.php程式執行時間:1.4326729774475

2019-03-23 04:43:24 舊的insoler討論區首頁的index.php程式執行時間:1.4448759555817

2019-03-23 04:48:59 舊的insoler討論區首頁的index.php程式執行時間:1.4023768901825

2019-03-23 04:56:18 舊的insoler討論區首頁的index.php程式執行時間:1.5025670528412

「Dolphin 7.4與PHP 7.1.23」與「Dolphin 7.3.5與PHP 5.5.38」速度測試結果

  • 舊的insoler首頁的index.php程式執行時間:0.12秒!
  • 舊的insoler討論區首頁的index.php程式執行時間:1.39秒!

我花了許多時間進行最佳化與簡化PHP程式碼的努力:

  • 新的insoler首頁的index.php程式執行時間:0.05秒!
  • 新的insoler討論區首頁的index.php程式執行時間:0.14秒!

你可以看到在「insoler首頁的index.php」部分,執行時間從「0.12秒」進步到「0.05秒」,而且終於比升級以前的「最慢的成績也是0.09秒」還要更快!

在「insoler討論區首頁的index.php」部分,執行時間從「1.39秒」大幅進步到只有「0.14秒」!已經與「舊版的index.php首頁」的「0.12秒」相當接近!

「Dolphin 7.4與PHP 7.1.23」與「Dolphin 7.4與PHP 5.5.38」速度測試結果

由於舊的Dolphin 7.3.5無法在PHP 7.1.23上執行,但是新的Dolphin 7.4可以在PHP 5.5.38上執行,所以最後的測試就是使用最佳化與簡化PHP程式碼的新海豚Dolphin 7.4:

  • 測試最佳化Dolphin 7.4在PHP 5.5.38的執行速度
  • 測試最佳化Dolphin 7.4在PHP 7.1.23的執行速度

這樣才能確定,到底是PHP 7.1.23比較快?還是舊的PHP 5.5.38比較快?

2019-03-23 06:12:44 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.19255805015564

2019-03-23 06:13:05 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.22288584709167

2019-03-23 06:13:12 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.18733906745911

2019-03-23 06:13:22 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.18382501602173

2019-03-23 06:13:33 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.18739104270935

2019-03-23 06:13:39 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.21581220626831

2019-03-23 06:13:47 Dolphin 7.4在PHP 5.5.38、insoler首頁的index.php程式執行時間:0.18645596504211

 

2019-03-23 06:11:08 Dolphin 7.4在PHP 5.5.38、insoler討論區首頁的index.php程式執行時間:0.28841495513916

2019-03-23 06:11:20 Dolphin 7.4在PHP 5.5.38、insoler討論區首頁的index.php程式執行時間:0.29432392120361

2019-03-23 06:11:26 Dolphin 7.4在PHP 5.5.38、insoler討論區首頁的index.php程式執行時間:0.28401613235474

2019-03-23 06:11:35 Dolphin 7.4在PHP 5.5.38、insoler討論區首頁的index.php程式執行時間:0.28288006782532

2019-03-23 06:11:59 Dolphin 7.4在PHP 5.5.38、insoler討論區首頁的index.php程式執行時間:0.27625298500061

2019-03-23 06:12:39 Dolphin 7.4在PHP 5.5.38、insoler討論區首頁的index.php程式執行時間:0.28302907943726

最後的測試結果是:

  • Dolphin 7.4在PHP 7.1.23、新的insoler首頁的index.php程式執行時間:0.05秒!
  • Dolphin 7.4在PHP 7.1.23、新的insoler討論區首頁的index.php程式執行時間:0.14秒!
  • Dolphin 7.4在PHP 5.5.38、新的insoler首頁的index.php程式執行時間:0.18秒!
  • Dolphin 7.4在PHP 5.5.38、新的insoler討論區首頁的index.php程式執行時間:0.28秒!

你可以看到PHP 7.1.23的執行速度確實是比PHP 5.5.38更快一倍左右!這個結果也比較接近我自己寫的「99乘法表測試程式碼」。

「物件導向程式」與「非物件導向程式」的PHP 5.5、PHP 7執行速度效能大測試!

蘇言霖 2019/03/23 0 678
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2019/03/23 (1861 days ago)
Actions