PHP5.6與7.3,Tomcat7與8.5在速度有什么差別?相信有很多人都不太了解,今天小編為了讓大家更加了解,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比蘭山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式蘭山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋蘭山地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
前言
我個(gè)人還在使用PHP5.6,7.3的話純粹是拿來做測(cè)試的,因?yàn)镻HP7已經(jīng)支持強(qiáng)類型了,不再支持根據(jù)字符串調(diào)用函數(shù)的方法了,所以我的個(gè)人項(xiàng)目的PHP版本停留在了5.6。
最近的話想折騰一下,試試PHP5.6、7.3和Tomcat7、8、9的各方面速度怎么樣,以前看過一些文章說PHP操作數(shù)據(jù)庫(kù)的速度更快,而Java處理業(yè)務(wù)邏輯的速度更快,所以我就想業(yè)務(wù)邏輯交給Java去處理,而數(shù)據(jù)庫(kù)操作就交給PHP去處理。
但是否這樣速度就更快呢,對(duì)比一下,數(shù)據(jù)說話!
順便說一下,服務(wù)器管理我用的是寶塔面板,服務(wù)軟件的安裝全部都是在寶塔面板中進(jìn)行的。
測(cè)試前言
在測(cè)試的過程中發(fā)現(xiàn)Tomcat7和8.5的結(jié)果相仿,估計(jì)9也是這個(gè)結(jié)果,所以Tomcat9我就不測(cè)試了。Tomcat部分只在業(yè)務(wù)邏輯處理測(cè)試7和8.5,其余只測(cè)試8.5
服務(wù)器配置
● 系統(tǒng):CentOS Linux 7.6.1810 (Core)
● 寶塔版本:6.9.8
● 廠商:百度智能云
● 類型:密集計(jì)算型ic3
● CPU:1核
● 內(nèi)存:1GB
速度對(duì)比
業(yè)務(wù)邏輯處理速度
從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); // 結(jié)果:0.34648394584656
結(jié)果: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); // 結(jié)果:0.12653613090515
結(jié)果:0.12653613090515
結(jié)論:PHP7.3在業(yè)務(wù)邏輯處理方面比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); // 結(jié)果:17毫秒 %>
結(jié)果:17毫秒,多刷新幾次就變成了4~5毫秒,主要以4毫秒為主
Tomcat8.5
結(jié)果:99毫秒,多刷新幾次也是4毫秒
業(yè)務(wù)邏輯測(cè)試總結(jié)
畢竟Java是半編譯半解釋型的語(yǔ)言,速度快很正常,PHP7達(dá)到了100多毫秒的樣子,就是PHP5遜了點(diǎn)才300多毫秒
數(shù)據(jù)庫(kù)IO測(cè)試
使用PDO的prepare和execute進(jìn)行測(cè)試
PHP5.6
INSERT插入10000行:37.575320005417秒
SELECT讀取10000行:0.010236978530884秒
SELECT循環(huán)讀取10000行:1.0460438728333秒
UPDATE更新10000行:0.044967889785767秒
UPDATE循環(huán)更新10000行:36.463224887848秒
DELETE刪除10000行:0.034432888031006秒
DELETE循環(huán)刪除10000行:37.198384046555秒
PHP7.3
INSERT插入10000行:33.949599027634秒
SELECT讀取10000行:0.021260023117065秒
SELECT循環(huán)讀取10000行:1.0032389163971秒
UPDATE更新10000行:0.040410995483398秒
UPDATE循環(huán)更新10000行:36.759881019592秒
DELETE刪除10000行:0.046122074127197秒
DELETE循環(huán)刪除10000行:35.682950973511秒
PHP總結(jié):數(shù)據(jù)庫(kù)IO幾乎沒有版本差異,還有執(zhí)行單條語(yǔ)句比循環(huán)執(zhí)行一條語(yǔ)句速度快
Tomcat8.5
編譯前為第一次執(zhí)行,編譯后為第二次執(zhí)行
INSERT插入10000行:編譯前:39.738秒,編譯后:37.104秒
SELECT讀取10000行:編譯前:0.079秒,編譯后:0.028秒
SELECT循環(huán)讀取10000行:編譯前:2.303秒,編譯后:1.775秒
UPDATE更新10000行:編譯前:0.060秒,編譯后:0.040秒
UPDATE循環(huán)更新10000行:編譯前:43.326秒,編譯后:40.847秒
DELETE刪除10000行:第一次執(zhí)行:0.137秒
DELETE循環(huán)刪除10000行:第一次執(zhí)行:40.597秒
總結(jié):Java的業(yè)務(wù)邏輯能力強(qiáng),但數(shù)據(jù)庫(kù)IO速度比PHP慢,PHP則相反。
混合開發(fā)測(cè)試
業(yè)務(wù)邏輯由Java編寫,PHP通過CURL調(diào)用Java,測(cè)試速度
結(jié)果:
第一次測(cè)試:0.51814317703247秒
第二次測(cè)試:0.016547918319702秒
總結(jié):
第一次測(cè)試可能是因?yàn)镴ava端需要編譯而產(chǎn)生的時(shí)間,第二次測(cè)試則不再需要編譯,所以速度很快。
后面又進(jìn)行了若干次測(cè)試,結(jié)果均比較理想,速度上比PHP7都要快10倍左右。
只不過混合開發(fā)的缺點(diǎn)就是開發(fā)效率不高,可能會(huì)產(chǎn)生比較多的坑,但運(yùn)行上能各取其優(yōu)。
我個(gè)人對(duì)此表示中立態(tài)度,不推薦也不反對(duì),因?yàn)楦鞣N項(xiàng)目說不好可能就存在著相關(guān)需求用這種方法可能是最佳的選擇。
以上就是PHP5.6與7.3,Tomcat7與8.5在速度有什么差別的簡(jiǎn)略介紹,當(dāng)然詳細(xì)使用上面的不同還得要大家自己使用過才領(lǐng)會(huì)。如果想了解更多,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道哦!
本文標(biāo)題:PHP5.6與7.3,Tomcat7與8.5在速度有什么差別
新聞來源:http://jinyejixie.com/article12/iehgdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、云服務(wù)器、、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)