Heim > Backend-Entwicklung > PHP7 > Hauptteil

Geschwindigkeitsvergleich von PHP5.6 und 7.3, Tomcat7 und 8.5

藏色散人
Freigeben: 2023-02-17 14:28:01
nach vorne
3048 Leute haben es durchsucht

Vorwort

Ich persönlich verwende immer noch PHP5.6 und 7.3 dient nur zum Testen, da PHP7 bereits starke Typisierung unterstützt und den Aufruf von String-Funktionsmethoden nicht mehr unterstützt Die PHP-Version meines persönlichen Projekts bleibt bei 5.6 hängen.

Kürzlich möchte ich ein wenig experimentieren und PHP 5.6, 7.3 und Tomcat 7, 8 und 9 ausprobieren. Ich habe einige Artikel gelesen, in denen ich sagte, dass PHP Datenbanken schneller betreibt, während Java Logic schneller abwickelt Ich möchte die Geschäftslogik an Java und die Datenbankoperationen an PHP übergeben.

Aber ist es so schneller? Vergleichen Sie es, die Daten sprechen für sich!

Übrigens verwende ich das Pagoda-Panel für die Serververwaltung und die gesamte Installation der Servicesoftware erfolgt im Pagoda-Panel.

Vorwort zum Test

Während des Tests stellte ich fest, dass die Ergebnisse von Tomcat7 und 8.5 ähnlich waren. Es wird geschätzt, dass 9 auch das gleiche Ergebnis liefern wird. Daher werde ich Tomcat9 nicht testen. Der Tomcat-Teil testet nur 7 und 8.5 in der Geschäftslogikverarbeitung und der Rest testet nur 8.5

Serverkonfiguration

● System: CentOS Linux 7.6.1810 (Core)

● Pagodenversion: 6.9.8

● Hersteller: Baidu Smart Cloud

● Typ: Intensiv-Computing-IC3

● CPU: 1 Kern

● Speicher: 1 GB

Geschwindigkeitsvergleich

Verarbeitungsgeschwindigkeit der Geschäftslogik

Zusätzlich von 0 bis 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
Nach dem Login kopieren

Ergebnis: 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
Nach dem Login kopieren

Ergebnis: 0,12653613090515

Fazit: PHP7.3 ist dreimal schneller als 5.6 in der Geschäftslogikverarbeitung

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毫秒
%>
Nach dem Login kopieren

Ergebnis: 17 Millisekunden, nach ein paar weiteren Aktualisierungen sind es 4 bis 5 Millisekunden, hauptsächlich 4 Millisekunden

Tomcat8.5

Ergebnis: 99 Millisekunden, auch nach ein paar weiteren aktualisiert 4 Millisekunden

Zusammenfassung des Geschäftslogiktests

Java ist schließlich eine halbkompilierte und halbinterpretierte Sprache, daher ist es normal, dass PHP7 mehr als 100 Millisekunden erreicht PHP5 ist mit nur 300 Multimillisekunden etwas langsamer

Datenbank-IO-Test

Verwenden Sie PDOs zum Vorbereiten und Ausführen zum Testen

PHP5.6

● INSERT 10.000 Zeilen einfügen: 37,575320005417 Sekunden

● SELECT liest 10.000 Zeilen: 0,010236978530884 Sekunden

● SELECT-Schleife liest 10.000 Zeilen: 1,04604387 28333 Sekunden

● UPDATE-Update 1 Zeile 0000: 0,044967889785767 Sekunden

● UPDATE-Schleife zum Aktualisieren von 10.000 Zeilen: 36,463224887848 Sekunden

● DELETE zum Löschen von 10.000 Zeilen: 0,034432888031006 Sekunden

● DELETE-Schleife zum Löschen von 10.000 Zeilen : 37,19838404 6555 Sekunden

PHP7.3

● INSERT fügt 10000 Zeilen ein: 33,949599027634 Sekunden

● SELECT liest 10000 Zeilen: 0,0212 60023117065 Sekunden

● SELECT-Schleife liest 100 00 Zeilen: 1,0032389163971 Sekunden

● UPDATE aktualisiert 10.000 Zeilen: 0,040410995483398 Sekunden

● UPDATE-Schleife aktualisiert 10.000 Zeilen: 36,759881019 592 Sekunden

● LÖSCHEN 1 Zeile 0000 löschen: 0,046122074127197 Sekunden

● DELETE-Schleife zum Löschen von 10.000 Zeilen: 35,682950973511 Sekunden

PHP-Zusammenfassung: Es gibt fast keinen Versionsunterschied bei Datenbank-IO und Ausführung Eine einzelne Anweisung ist schneller als die Ausführung einer Anweisung in einer Schleife

Tomcat8.5

Die erste Ausführung vor der Kompilierung, die zweite Ausführung nach der Kompilierung

● INSERT fügt 10.000 Zeilen ein: vor der Kompilierung: 39,738 Sekunden, kompilieren nach: 37,104 Sekunden

● SELECT liest 10.000 Zeilen: vor der Kompilierung: 0,079 Sekunden, nach der Kompilierung: 0,028 Sekunden

● SELECT-Schleife liest 10.000 Zeilen: vor der Kompilierung: 2,303 Sekunden, nach der Kompilierung: 1,775 Sekunden

● UPDATE aktualisiert 10.000 Zeilen: vor der Kompilierung: 0,060 Sekunden, nach der Kompilierung: 0,040 Sekunden

● UPDATE-Schleife aktualisiert 10.000 Zeilen: vor der Kompilierung: 43,326 Sekunden, nach der Kompilierung: 40,847 Sekunden

● DELETE löscht 10.000 Zeilen: erste Ausführung: 0,137 Sekunden

● DELETE-Schleife löscht 10.000 Zeilen: erste Ausführung: 40,597 Sekunden

Zusammenfassung: Java verfügt über starke Geschäftslogikfähigkeiten, aber die Datenbank-IO-Geschwindigkeit ist langsamer als PHP, während für PHP das Gegenteil der Fall ist.

Hybrid-Entwicklungstest

Geschäftslogik ist in Java geschrieben, PHP ruft Java über CURL auf, Testgeschwindigkeit

Ergebnis:

Erster Test: 0,51814317703247 Sekunden

Zweiter Test: 0,016547918319702 Sekunden

Zusammenfassung:

Der Erste Der Test kann einige Zeit dauern, da die Java-Seite kompiliert werden muss. Der zweite Test muss jedoch nicht mehr kompiliert werden und ist daher sehr schnell.

Später wurden mehrere Tests durchgeführt, die Ergebnisse waren alle zufriedenstellend und die Geschwindigkeit war etwa zehnmal schneller als PHP7.

Der einzige Nachteil der gemischten Entwicklung besteht darin, dass die Entwicklungseffizienz nicht hoch ist, was zu weiteren Fallstricken führen kann, aber in Bezug auf den Betrieb kann jeder seine Vorteile nutzen.

Ich persönlich stehe dem neutral gegenüber und empfehle es weder, noch lehne ich es ab, da verschiedene Projekte relevante Bedürfnisse haben können und diese Methode möglicherweise die beste Wahl ist.

Das obige ist der detaillierte Inhalt vonGeschwindigkeitsvergleich von PHP5.6 und 7.3, Tomcat7 und 8.5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!