請先閱讀前面這篇文章:
Dolphin 7.3.5與PHP 5.5.38、Dolphin 7.4與PHP 7.1.23執行速度效能大測試!
這是在Mac mini (2012) 電腦上(有開啟「OPcache快取」)測試升級以前的insoler網站的首頁的執行速度:
2019-03-02 12:16:44 PHP 程式的執行時間:0.091秒
這是在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與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與Mac mini 2都同時連接到相同的MySQL資料庫主機,因此無論是開啟新的insoler網站,還是舊的insoler網站,都會看到完全相同的畫面。只是舊的insoler網站會因為無法開啟USB外接硬碟的照片,所以會無法顯示照片內容。
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
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
我花了許多時間進行最佳化與簡化PHP程式碼的努力:
你可以看到在「insoler首頁的index.php」部分,執行時間從「0.12秒」進步到「0.05秒」,而且終於比升級以前的「最慢的成績也是0.09秒」還要更快!
在「insoler討論區首頁的index.php」部分,執行時間從「1.39秒」大幅進步到只有「0.14秒」!已經與「舊版的index.php首頁」的「0.12秒」相當接近!
由於舊的Dolphin 7.3.5無法在PHP 7.1.23上執行,但是新的Dolphin 7.4可以在PHP 5.5.38上執行,所以最後的測試就是使用最佳化與簡化PHP程式碼的新海豚Dolphin 7.4:
這樣才能確定,到底是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
最後的測試結果是:
你可以看到PHP 7.1.23的執行速度確實是比PHP 5.5.38更快一倍左右!這個結果也比較接近我自己寫的「99乘法表測試程式碼」。