PHP-FPM
Frühe Versionen von PHP hatten keinen integrierten WEB-Server, sondern stellten Dritten SAPI (Server API) zur Verfügung Parteien Andocken. Das mittlerweile sehr beliebte PHP-FPM wickelt die Kommunikation zwischen PHP und WEB-Servern von Drittanbietern über das FastCGI-Protokoll ab. (Empfohlenes Lernen: Swoole-Video-Tutorial )
Beispielsweise ist die Kombination von Nginx + PHP-FPM, FPM, das auf diese Weise ausgeführt wird, der Master/Worker-Modus, der einen Master-Prozess zur Überwachung von Anforderungen startet von Nginx und verzweigen Sie dann mehrere Worker-Prozesse, um die Anfrage zu bearbeiten. Jeder Worker-Prozess kann nur eine Anfrage bearbeiten. Der Lebenszyklus eines einzelnen Prozesses ist ungefähr wie folgt:
Initialisierungsmodul.
Initialisierungsanfrage. Mit der Anfrage ist hier gemeint, dass PHP aufgefordert wird, Code auszuführen, und nicht eine HTTP-Anfrage.
PHP-Skript ausführen.
Anfrage beenden.
Schließen Sie das Modul.
Swoole
Swoole verwendet auch den Master/Worker-Modus. Der Unterschied besteht darin, dass der Master-Prozess mehrere Reaktor-Threads hat und der Master nur ein verantwortlicher Ereignisgenerator ist zum Abhören der Socket-Handle-Änderungen in Ereignissen.
Worker läuft in mehreren Prozessen, empfängt Anfragen von Reactor-Threads und führt Rückruffunktionen aus (in PHP geschrieben). Der Prozess zum Starten des Master-Prozesses ist ungefähr wie folgt:
Initialisierungsmodul.
Initialisierungsanfrage. Da Swoole über die CLI ausgeführt werden muss, werden die globalen Variablen von PHP wie $_SERVER, $_POST, $_GET usw. nicht initialisiert, wenn die Anfrage initialisiert wird.
PHP-Skript ausführen. Einschließlich lexikalischer und syntaktischer Analyse, Initialisierung von Variablen, Funktionen, Klassen usw. wechselt der Master in den Hörzustand und beendet den Prozess nicht.
Das Prinzip der Swoole-Beschleunigung
Der Reaktor (Epolls IO-Wiederverwendungsmethode) ist für die Überwachung der Ereignisänderungen des Socket-Handles verantwortlich, um Probleme mit hoher Parallelität zu lösen .
Sparen Sie die Zeit der PHP-Code-Initialisierung durch speicherresidenten Einsatz. Bei der Verwendung umfangreicher Frameworks ist der Beschleunigungseffekt der Verwendung von Swoole sehr offensichtlich.
Das obige ist der detaillierte Inhalt vonWarum ist Swoole schneller als FPM?. 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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.
