


Verstehen Sie die Transformation der PHP7-Leistung in einer Minute (Leistung um das Vierfache erhöht)
Wir haben so viel über PHP7 gelernt. Ich weiß nicht, wie viel Sie über PHP7 wissen. Also nicht Sorge, dieser Artikel ist der Leitfaden, den jeder tiefer verstehen muss.
Hintergrund der Forschung zur PHP7-Technologie
- Im Zusammenhang mit der Umsatzsteigerung des Unternehmens und der Reduzierung der Ausgaben müssen wir Kosten sparen
- Im Vergleich zur aktuellen PHP-Version 5. Jährliche Daten, täglicher durchschnittlicher PV, jährliches Wachstum von 348 %, täglicher durchschnittlicher UV-Wert, jährliches Wachstum von 112 %)
- Die mobile Internetumgebung erfordert, dass unsere Programme schneller auf Benutzeranfragen reagieren, um ein besseres Benutzererlebnis zu bieten
- Für neue Technologien Wunsch nach Wissen (um meine eigene kleine Eitelkeit zu befriedigen)
- Hinweise zur PHP7-Leistung
Erster Eindruck von der PHP7-Leistung (dreimal mehr als PHP5)
1. Leistungsvergleich – schneller Sortieralgorithmus (nach zufälliger Generierung von 5000 Zahlen) Sortierung nach dem schnellen Algorithmus)
PHP5.1 Die durchschnittliche Antwortzeit der 5000-Nummern-Schnellsortierung beträgt 2587 ms PHP5.2 Die durchschnittliche Antwortzeit der 5000-Nummern-Schnellsortierung beträgt 2625 ms
PHP5.3 Die durchschnittliche Antwortzeit der 5000-Nummern-Schnellsortierung beträgt 2509 ms
PHP5.4 Die durchschnittliche Antwortzeit von Die schnelle Sortierung mit 5000 Zahlen beträgt 2339 ms.
PHP7.0. Die durchschnittliche Antwortzeit der schnellen Sortierung mit 5000 Zahlen beträgt 685 ms Reaktionszeit 521 ms
PHP5.3 WordPress durchschnittliche Antwortzeit 498 ms
PHP5.4 WordPress durchschnittliche Antwortzeit 470 ms
PHP5.4 500 Zahlen Schnell Sortieren von TPS 552
PHP7.0 500 Zahlen, schnelles Sortieren von TPS 3165
Flyme-Community-APP-Startseite PHP5.4 TPS 1535
Flyme-Community-APP-Startseite PHP7.0 TPS 1975
Flyme-Community-APP-Abschnitt Listenseite PHP7.0 TPS 2387
Mehrere Probleme und Lösungen beim Leistungstest
Warum kann die Leistung von PHP7 so stark verbessert werden?
1. JIT
2. Änderungen in Zval
3. Interner Typ zend_string
4. Änderungen in PHP-Arrays (HashTable und Zend Array)
6. Durch Makrodefinition und Inlining-Funktion (inline), zulassen Der Compiler muss einen Teil der Arbeit im Voraus abschließen
Warum beträgt die tatsächliche Verbesserung der Geschäftsleistung von PHP7 nur etwa 30 %?
Tatsächliche Geschäfte verfügen nicht unbedingt über eine sehr komplexe Berechnungslogik.
Tatsächliche Geschäfte werden Redis und MYSQL verwenden. Netzwerk- und E / A-Engpässe wirken sich auf die Gesamtleistung von PHP7 aus.
HTTPS-Leistungsprobleme schränken die Funktionen von PHP7 ein
Redis Proxy ist für Redis-Hochverfügbarkeit und verteiltes Caching gedacht.
Nach Leistungstests handelt es sich um eine relativ direkte Verbindung zu Redis. Der Leistungsverlust bei der Verwendung von Proxy beträgt etwa 10–15 % (je nach Unternehmen kann es einen großen Unterschied geben)- Gibt es also Raum für eine Optimierung des Proxys?
- Probleme mit langen und kurzen Verbindungen zwischen PHP und Redis
- Die Leistung langer PHP7 Redis-Verbindungen ist etwa 10 % höher als die kurzer Verbindungen (verschiedene Unternehmen variieren stark)
Atlas ist eine Datenbank-Middleware, die von 360 entwickelt und gepflegt wird. Es befindet sich zwischen der Anwendung und MySQL. Es implementiert das Client-Server-Protokoll von MySQL, kommuniziert mit der Anwendung als Server und kommuniziert mit MySQL als Client. Es schützt DB-Details vor Anwendungen und reduziert die Belastung von MySQL.
Atlas unterstützt die Ausfallzeit der Hauptdatenbank, ohne das Lesen, die Lese-/Schreibtrennung, das automatische Tabellen-Sharding, die Sicherheitsverarbeitung, den reibungslosen Neustart, den Verbindungspool usw. zu beeinträchtigen.
Nach Verwendung des Datenbankverbindungspools wird die TPS-Leistungsverstärkung um 80 % erhöht.
Nehmen wir Ein Blick auf den Effekt
Ein paar Details zur PHP7-Leistungsoptimierung
PHP7 Opcache (um etwa das 1-fache verbessert)
Wie funktioniert Opcache?
- PHP ist eine interpretierte Sprache. Die Zend-Engine interpretiert den PHP-Code in ausführbaren Maschinencode (Operate Code) und übergibt ihn dann zur Ausführung an die CPU.
-
Wie Opcache wird beschleunigt. %-10%)
Obwohl PGO die Kompilierungseffizienz verbessern kann, wird es nicht häufig verwendet.PGO ist eine Kompilierungsoptimierungstechnologie, die mit Compilern wie GCC verwendet werden kann, um die Kompilierungseffizienz des Compilers zu verbessern.
Der Grund ist ganz einfach: - 1. Das komplizierte duale Kompilierungsmodell und die begrenzten Nutzungsszenarien lassen PGO nutzlos erscheinen
2. Nach dem Aufkommen von Produkten wie Opcache ist die durch PGO erzielte Leistungsverbesserung nicht sehr offensichtlich.
Öffnen Sie mehrere PHP-FPM-Hauptprozesse (Erhöhung um etwa 10 %).
<source lang="xml" collapse="false" first-line="1"> #php-fpm.conf listen = /dev/shm/php-fcgi.sock #php-fpm2.conf listen = /dev/shm/php-fcgi2.sock #/usr/local/php/sbin/php-fpm --fpm-config /usr/local/php/etc/php-fpm.conf #/usr/local/php/sbin/php-fpm --fpm-config /usr/local/php/etc/php-fpm2.conf #代理 upstream backend{ server unix:/dev/shm/php-fcgi.sock; server unix:/dev/shm/php-fcgi2.sock; } </source>
Nach dem Login kopieren
Der Standardspeicher ist um 4 KB ausgelagert, und die virtuelle Adresse und die Speicheradresse müssen konvertiert werden , und diese Konvertierung erfordert eine Tabellensuche.
Um den Tabellensuchvorgang zu beschleunigen, verfügt die CPU über einen integrierten TLB (Translation Lookaside Buffer). Wenn die virtuelle Seite kleiner ist, verringert sich natürlich die Anzahl der Einträge in der Die Tabelle wird größer sein.
Und die TLB-Größe ist begrenzt. Je mehr Einträge vorhanden sind, desto höher ist der TLB-Cache-Miss. Wenn wir also große Speicherseiten aktivieren können, können wir den TLB-Cache-Miss indirekt reduzieren. ?
Nginx HTTPS-Leistungsprobleme
Im Zusammenhang mit der Umsatzsteigerung des Unternehmens und der Reduzierung der Ausgaben müssen wir Kosten sparen
Im Vergleich zur aktuellen PHP-Version 5. Die Benutzer wachsen schnell (der durchschnittliche tägliche PV von 15 Jahre Daten haben ein jährliches Wachstum von 348 % und der durchschnittliche tägliche UV-Wert weist ein jährliches Wachstum von 112 % auf. Die mobile Internetumgebung erfordert, dass unsere Programme schneller auf Benutzeranfragen reagieren, um ein besseres Benutzererlebnis zu erreichen Neue Technologien (um ein wenig Eitelkeit zu befriedigen)
Verwandte Lernvideos teilen:
php-Video-TutorialDas obige ist der detaillierte Inhalt vonVerstehen Sie die Transformation der PHP7-Leistung in einer Minute (Leistung um das Vierfache erhöht). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Als beliebte serverseitige Sprache spielt PHP eine wichtige Rolle bei der Entwicklung und dem Betrieb von Websites. Da jedoch die Menge an PHP-Code immer weiter zunimmt und die Komplexität der Anwendungen zunimmt, wird es immer wahrscheinlicher, dass es zu Leistungsengpässen kommt. Um dieses Problem zu vermeiden, müssen wir eine Leistungsanalyse und -optimierung durchführen. In diesem Artikel wird kurz vorgestellt, wie Sie PHP zur Leistungsanalyse und -optimierung verwenden, um eine effizientere Ausführungsumgebung für Ihre Anwendungen bereitzustellen. 1. PHP-Leistungsanalysetool 1.XdebugXdebug ist ein weit verbreitetes Codeanalysetool.

So nutzen Sie das Concurrent-Programming-Framework zur Verbesserung der PHP-Leistung Da die Komplexität von Webanwendungen weiter zunimmt, ist die Verarbeitung hoher Parallelität zu einer Herausforderung für Entwickler geworden. Die traditionelle PHP-Sprache weist Leistungsengpässe bei der Verarbeitung gleichzeitiger Anfragen auf, was Entwickler dazu zwingt, effizientere Lösungen zu finden. Durch die Verwendung von Frameworks für die gleichzeitige Programmierung wie Swoole und ReactPHP können die Leistung und die Fähigkeiten zur gleichzeitigen Verarbeitung von PHP erheblich verbessert werden. In diesem Artikel erfahren Sie, wie Sie die Leistung von PHP-Anwendungen mithilfe von Swoole und ReactPHP verbessern können. wir werden

Einführung in PHPCI/CD CI/CD (Continuous Integration and Continuous Delivery) ist eine Softwareentwicklungspraxis, die Entwicklungsteams dabei hilft, häufiger qualitativ hochwertige Software bereitzustellen. Der CI/CD-Prozess umfasst typischerweise die folgenden Schritte: Entwickler übermitteln Code an ein Versionskontrollsystem. Das Build-System erstellt automatisch Code und führt Komponententests durch. Wenn der Build und die Tests erfolgreich sind, wird der Code in der Testumgebung bereitgestellt. Tester testen Code in einer Testumgebung. Wenn die Tests erfolgreich sind, wird der Code in der Produktion bereitgestellt. Wie verbessert CI/CD die Leistung von PHP-Projekten? CI/CD kann die Leistung von PHP-Projekten aus folgenden Gründen verbessern: Automatisiertes Testen. CI/CD-Prozesse umfassen häufig automatisierte Tests, die Entwicklungsteams dabei helfen können, Fehler frühzeitig zu finden und zu beheben. Das

Zusammenfassung der Kompromisse bei Sicherheit und Leistung in PHP: Als beliebte Web-Programmiersprache bietet PHP nicht nur eine flexible Entwicklungsumgebung und umfangreiche Funktionen, sondern muss auch Kompromisse bei Sicherheit und Leistung eingehen. In diesem Artikel werden Sicherheits- und Leistungsprobleme in PHP untersucht und einige Codebeispiele bereitgestellt, um zu veranschaulichen, wie man ein Gleichgewicht zwischen beiden findet. Einleitung: Bei der Entwicklung von Webanwendungen sind Sicherheit und Leistung zwei miteinander verbundene, aber unabhängig voneinander wichtige Aspekte. Die serverseitige Sprache PHP verfügt über gute Programmierfunktionen und leistungsstarke Funktionen, ist jedoch nicht dafür geeignet

Zu den Strategien zur Optimierung der PHP-Funktionsleistung in Containerumgebungen gehören: Aktualisieren der PHP-Version, Optimieren der PHP-Konfiguration (z. B. Erhöhen von Speichergrenzen, Aktivieren von OPcache usw.), Verwenden von PHP-Erweiterungen (z. B. APC, Xdebug, Swoole usw.), Optimieren der Containerkonfiguration (z. B wie Festlegen von Speicher- und CPU-Limits) )

Memcache ist eine effiziente Caching-Lösung, die die Leistung von PHP-Anwendungen erheblich verbessern kann. In diesem Artikel erfahren Sie, wie Sie mit Memcache die Leistung Ihrer PHP-Anwendungen optimieren und stellen praktische PHP-Codebeispiele bereit. Was ist Memcache? Memcache ist eine verteilte Open-Source-Caching-Lösung, die Daten im Speicher speichert, um schnelle Antworten zu ermöglichen. Da die Daten im Speicher gespeichert sind, erfolgen Abfragen sehr schnell. Mit anderen Datenbanken gelöst

Als beliebte serverseitige Sprache spielt PHP eine wichtige Rolle bei der Entwicklung und dem Betrieb von Websites. Da jedoch die Menge an PHP-Code immer weiter zunimmt und die Komplexität der Anwendungen zunimmt, wird es immer wahrscheinlicher, dass es zu Leistungsengpässen kommt. Um dieses Problem zu vermeiden, müssen wir eine Leistungsanalyse und -optimierung durchführen. In diesem Artikel wird kurz vorgestellt, wie Sie PHP zur Leistungsanalyse und -optimierung verwenden, um eine effizientere Ausführungsumgebung für Ihre Anwendung bereitzustellen. 1. PHP-Leistungsanalysetool 1.XdebugXdebug ist ein weit verbreitetes Codeanalysetool.

Wie kann man Microservices nutzen, um die Leistung und Reaktionsfähigkeit von PHP-Funktionen zu verbessern? Im sich immer weiter entwickelnden Internet-Zeitalter sind hohe Leistung und schnelle Reaktion zu Grundanforderungen der Benutzer an Websites und Anwendungen geworden. Als häufig verwendete Back-End-Entwicklungssprache muss PHP außerdem seine Leistung und Reaktionsgeschwindigkeit kontinuierlich verbessern, um den Benutzeranforderungen gerecht zu werden. Die Microservice-Architektur hat sich zu einer hervorragenden Lösung entwickelt, die nicht nur die Leistung von PHP-Anwendungen verbessern, sondern auch eine bessere Skalierbarkeit und Wartbarkeit bieten kann. In diesem Artikel wird erläutert, wie Sie Microservices verwenden, um die Leistung von PHP-Funktionen zu verbessern
