您好,登錄后才能下訂單哦!
PHP5.6與7.3,Tomcat7與8.5在速度有什么差別?相信有很多人都不太了解,今天小編為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。
前言
我個人還在使用PHP5.6,7.3的話純粹是拿來做測試的,因為PHP7已經支持強類型了,不再支持根據字符串調用函數的方法了,所以我的個人項目的PHP版本停留在了5.6。
最近的話想折騰一下,試試PHP5.6、7.3和Tomcat7、8、9的各方面速度怎么樣,以前看過一些文章說PHP操作數據庫的速度更快,而Java處理業務邏輯的速度更快,所以我就想業務邏輯交給Java去處理,而數據庫操作就交給PHP去處理。
但是否這樣速度就更快呢,對比一下,數據說話!
順便說一下,服務器管理我用的是寶塔面板,服務軟件的安裝全部都是在寶塔面板中進行的。
測試前言
在測試的過程中發現Tomcat7和8.5的結果相仿,估計9也是這個結果,所以Tomcat9我就不測試了。Tomcat部分只在業務邏輯處理測試7和8.5,其余只測試8.5
服務器配置
● 系統:CentOS Linux 7.6.1810 (Core)
● 寶塔版本:6.9.8
● 廠商:百度智能云
● 類型:密集計算型ic3
● CPU:1核
● 內存:1GB
速度對比
業務邏輯處理速度
從0加到10000000
PHP5.6
<?php $time_start = microtime(true); $count = 0; for ($i = 0; $i < 10000000; ++ $i) { $count += $i; } $time_end = microtime(true); echo ($time_end - $time_start); // 結果:0.34648394584656
結果:0.34648394584656
PHP7.3
<?php $time_start = microtime(true); $count = 0; for ($i = 0; $i < 10000000; ++ $i) { $count += $i; } $time_end = microtime(true); echo ($time_end - $time_start); // 結果:0.12653613090515
結果:0.12653613090515
結論:PHP7.3在業務邏輯處理方面比5.6快了三倍
Tomcat7
<% java.util.Date d1 = new java.util.Date(); long start_time = d1.getTime(); // 單位:毫秒 long count = 0; for (long i = 0; i <= 10000000; ++ i) { count += i; } java.util.Date d2 = new java.util.Date(); long end_time = d2.getTime(); // 單位:毫秒 out.println(end_time - start_time); // 結果:17毫秒 %>
結果:17毫秒,多刷新幾次就變成了4~5毫秒,主要以4毫秒為主
Tomcat8.5
結果:99毫秒,多刷新幾次也是4毫秒
業務邏輯測試總結
畢竟Java是半編譯半解釋型的語言,速度快很正常,PHP7達到了100多毫秒的樣子,就是PHP5遜了點才300多毫秒
數據庫IO測試
使用PDO的prepare和execute進行測試
PHP5.6
INSERT插入10000行:37.575320005417秒
SELECT讀取10000行:0.010236978530884秒
SELECT循環讀取10000行:1.0460438728333秒
UPDATE更新10000行:0.044967889785767秒
UPDATE循環更新10000行:36.463224887848秒
DELETE刪除10000行:0.034432888031006秒
DELETE循環刪除10000行:37.198384046555秒
PHP7.3
INSERT插入10000行:33.949599027634秒
SELECT讀取10000行:0.021260023117065秒
SELECT循環讀取10000行:1.0032389163971秒
UPDATE更新10000行:0.040410995483398秒
UPDATE循環更新10000行:36.759881019592秒
DELETE刪除10000行:0.046122074127197秒
DELETE循環刪除10000行:35.682950973511秒
PHP總結:數據庫IO幾乎沒有版本差異,還有執行單條語句比循環執行一條語句速度快
Tomcat8.5
編譯前為第一次執行,編譯后為第二次執行
INSERT插入10000行:編譯前:39.738秒,編譯后:37.104秒
SELECT讀取10000行:編譯前:0.079秒,編譯后:0.028秒
SELECT循環讀取10000行:編譯前:2.303秒,編譯后:1.775秒
UPDATE更新10000行:編譯前:0.060秒,編譯后:0.040秒
UPDATE循環更新10000行:編譯前:43.326秒,編譯后:40.847秒
DELETE刪除10000行:第一次執行:0.137秒
DELETE循環刪除10000行:第一次執行:40.597秒
總結:Java的業務邏輯能力強,但數據庫IO速度比PHP慢,PHP則相反。
混合開發測試
業務邏輯由Java編寫,PHP通過CURL調用Java,測試速度
結果:
第一次測試:0.51814317703247秒
第二次測試:0.016547918319702秒
總結:
第一次測試可能是因為Java端需要編譯而產生的時間,第二次測試則不再需要編譯,所以速度很快。
后面又進行了若干次測試,結果均比較理想,速度上比PHP7都要快10倍左右。
只不過混合開發的缺點就是開發效率不高,可能會產生比較多的坑,但運行上能各取其優。
我個人對此表示中立態度,不推薦也不反對,因為各種項目說不好可能就存在著相關需求用這種方法可能是最佳的選擇。
以上就是PHP5.6與7.3,Tomcat7與8.5在速度有什么差別的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。