Heim  >  Artikel  >  PHP-Framework  >  Einführung in die Funktionen von WorkerMan

Einführung in die Funktionen von WorkerMan

尚
nach vorne
2020-02-04 17:58:252874Durchsuche

Workerman ist ein Open-Source-Hochleistungs-Asynchron-PHP-Socket-Instant-Messaging-Framework. Dieser Artikel stellt Ihnen einige Funktionen von Workerman vor. Ich hoffe, er ist für alle hilfreich.

Einführung in die Funktionen von WorkerMan

Verwandte Empfehlungen: „Workerman-Tutorial

WorkerMan-Funktionseinführung:

1 🎜>

Mit WorkerMan entwickelte Anwendungen können unabhängig ausgeführt werden, ohne auf Container wie PHP-FPM, Apache und Nginx angewiesen zu sein. Dies macht es für PHP-Entwickler sehr bequem, Anwendungen zu entwickeln, bereitzustellen und zu debuggen.

2. PHP-Multiprozess unterstützen

Um die Leistung der Multi-CPU des Servers voll auszuschöpfen, unterstützt WorkerMan standardmäßig Multiprozess und Multitasking. WorkerMan startet einen Hauptprozess und mehrere Unterprozesse, um Dienste für die Außenwelt bereitzustellen. Die Unterprozesse überwachen unabhängig voneinander Netzwerkverbindungen und empfangen und verarbeiten Daten , WorkerMan ist stabiler und effizienter.

3. Unterstützt TCP und UDP

WorkerMan unterstützt zwei Übertragungsprotokolle, TCP und UDP. Sie müssen nur ein Attribut ändern, um das Transportschichtprotokoll zu ändern, und der Geschäftscode muss nicht geändert werden geändert werden.

4. Unterstützen Sie lange Verbindungen

Oft müssen PHP-Anwendungen lange Verbindungen mit Clients aufrechterhalten, z. B. Chatrooms, Spiele usw., aber herkömmliche PHP-Container (Apache, Nginx, PHP- fpm) ist schwierig zu bewerkstelligen.

Mit WorkerMan können Sie lange PHP-Verbindungen verwenden, solange das serverseitige Unternehmen die enge Verbindungsschnittstelle nicht aktiv aufruft. Ein einzelner WorkerMan-Prozess kann Zehntausende gleichzeitiger Verbindungen unterstützen, und mehrere Prozesse können Hunderttausende oder sogar Millionen gleichzeitiger Verbindungen unterstützen.

5. Unterstützt verschiedene Protokolle der Anwendungsschicht

Die WorkerMan-Schnittstelle unterstützt verschiedene Protokolle der Anwendungsschicht, einschließlich benutzerdefinierter Protokolle. Das Ändern des Protokolls in WorkerMan ist ebenfalls sehr einfach. Es muss lediglich ein Feld konfiguriert werden, und das Protokoll wird automatisch umgeschaltet, ohne dass Änderungen am Geschäftscode erforderlich sind. Sie können sogar mehrere Ports mit unterschiedlichen Protokollen öffnen, um unterschiedliche Kundenanforderungen zu erfüllen.

6. Unterstützt hohe Parallelität.

WorkerMan unterstützt die Libevent-Ereignisabfragebibliothek (die Verwendung von Libevent erfordert eine hervorragende Leistung bei hoher Parallelität). Durch den integrierten Select-bezogenen Systemaufruf ist die Leistung ebenfalls sehr leistungsstark.

7. Unterstützen Sie einen reibungslosen Neustart von Diensten

Wenn der Dienst neu gestartet werden muss (z. B. die Veröffentlichung einer Version), möchten wir nicht, dass der Prozess, der Benutzeranfragen verarbeitet, sofort beendet wird. geschweige denn, dass die Kommunikation mit dem Client fehlgeschlagen ist.

WorkerMan bietet eine reibungslose Neustartfunktion, die eine reibungslose Aktualisierung von Diensten gewährleisten kann, ohne die Nutzung von Clients zu beeinträchtigen.

8. Unterstützung der Dateiaktualisierungserkennung und des automatischen Ladens

Während des Entwicklungsprozesses hoffen wir, dass Änderungen am Code sofort wirksam werden, sodass wir die Ergebnisse sehen können. WorkerMan stellt die FileMonitor-Dateiüberwachungskomponente bereit. Solange die Datei aktualisiert wird, führt WorkerMan automatisch „reload“ aus, um die neue Datei zu laden und wirksam zu machen.

9. Unterstützt die Ausführung von Unterprozessen als angegebene Benutzer

Da der Unterprozess der Prozess ist, der tatsächlich Benutzeranfragen verarbeitet, darf der Unterprozess aus Sicherheitsgründen keine zu hohen Berechtigungen haben. Daher unterstützt WorkerMan das Festlegen von Unterprozessen. Führen Sie Prozesse aus, die unter demselben Benutzer ausgeführt werden, wodurch Ihr Server sicherer wird.

10. Unterstützen Sie Objekte oder Ressourcen, die dauerhaft verwaltet werden sollen

WorkerMan lädt und analysiert die PHP-Datei nur einmal während des laufenden Prozesses und bleibt dann im Speicher, wodurch die Klasse erstellt wird und Funktionsdeklaration, PHP-Ausführungsumgebung, Symboltabellen usw. werden nicht wiederholt erstellt und zerstört, was sich völlig vom PHP-Mechanismus unterscheidet, der unter dem Webcontainer ausgeführt wird.

In WorkerMan werden statische Mitglieder oder globale Variablen während des Lebenszyklus eines Prozesses dauerhaft beibehalten, ohne aktiv zerstört zu werden. Das heißt, wenn Ressourcen wie Objekte oder Verbindungen in globalen Variablen oder statischen Klassenmitgliedern platziert werden, Alle Anfragen während des gesamten Lebenszyklus des aktuellen Prozesses können wiederverwendet werden.

Solange beispielsweise eine Datenbankverbindung einmal in einem einzelnen Prozess initialisiert wird, können alle nachfolgenden Anforderungen dieses Prozesses diese Datenbankverbindung wiederverwenden, wodurch der TCP-Drei-Wege-Handshake, die Überprüfung der Datenbankberechtigung und die Trennung währenddessen vermieden werden Häufige Datenbankverbindungen Der TCP-Vier-Wege-Handshake-Prozess verbessert die Anwendungseffizienz erheblich.

11. Hohe Leistung

Da die PHP-Datei einmal von der Festplatte gelesen und analysiert wird, bleibt sie bei der nächsten Verwendung im Speicher direkt verwendet werden, was die Festplatten-E/A und viele zeitaufwändige Prozesse in PHP wie Anforderungsinitialisierung, Erstellung einer Ausführungsumgebung, lexikalisches Parsen, Syntaxparsing, Kompilieren von Opcode, Schließen von Anforderungen usw. erheblich reduziert und nicht auf Container angewiesen ist Wie Nginx und Apache reduziert es den Kommunikationsaufwand zwischen Nginx und anderen Containern und PHP. Das Wichtigste ist, dass die Ressourcen dauerhaft aufrechterhalten werden können und die Datenbankverbindung nicht jedes Mal initialisiert werden muss. Verwenden Sie daher WorkerMan für die Entwicklung Anwendungen hat eine sehr hohe Leistung.

12. Unterstützt HHVM

Unterstützung für die Ausführung auf einer virtuellen HHVM-Maschine, wodurch die Leistung von PHP verdoppelt werden kann. Insbesondere im CPU-intensiven Rechengeschäft ist die Leistung sehr gut. Durch den tatsächlichen Stresstestvergleich ist der Netzwerkdurchsatz von WorkerMan unter HHVM etwa 30–80 % höher als unter Zend PHP5.6, wenn kein Lastgeschäft stattfindet.

Referenzdokument

http ://doc.workerman.net/principle.html

Originallink: https://blog.csdn.net/u012164509/article/details/90749646

Weitere Workerman-Kenntnisse finden Sie in der Tutorial-Kolumne Workerman-Framework der PHP-Chinese-Website.

Das obige ist der detaillierte Inhalt vonEinführung in die Funktionen von WorkerMan. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen