搜尋
首頁後端開發PHP7PHP5.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.04604387283 SELECT循環讀取10000 9785767秒

● UPDATE循環更新10000行:36.463224887848秒

● DELETE刪除10000行:0.034432888031006秒 

##秒##PHP7.3

● INSERT插入10000行:33.949599027634秒

● SELECT讀取10000行:0.021260023117065秒:1.0032389163971秒

● UPDATE更新10000行:0.040410995483398秒

● UPDATE循環更新10000行:36.7598810195950 127197秒

● 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的速度對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境