Heim >Schlagzeilen >Wer hat die bessere Leistung, Workerman oder Swoole? Wie wähle ich?
workerman Welches würden Sie im Vergleich zu Swoole in tatsächlichen Entwicklungsprojekten wählen? Haben Sie einen Rat, welches für Neulinge besser zu lernen ist?
Es gibt Kommentare im Internet, dass die Leistung von Swoole viel höher ist als die von Workerman. Stimmt das? Werfen wir zunächst einen Blick auf die jeweiligen Einführungen: Unterstützt hohe Parallelität und ist super. Mit hoher Stabilität durchbricht es den traditionellen PHP-Anwendungsbereich erheblich und wird häufig in den Bereichen Instant Messaging, APP-Entwicklung, Entwicklung kleiner Programme, Chatrooms, mobile Spieleserver, Online-Spiele, Hardware-Kommunikation und Internet verwendet Fahrzeuge, Smart Homes und die Entwicklung des Internets der Dinge in anderen Bereichen. [
Workerman-Tutorial] unterstützt lange TCP-Verbindungen, unterstützt Websocket, HTTP und andere Protokolle, unterstützt benutzerdefinierte Protokolle und verfügt über viele Hochleistungskomponenten wie asynchrones MySQL, asynchrones Redis, asynchrones HTTP, MQTT IoT-Client und asynchrone Nachrichtenwarteschlange , usw.
Swoole:PHP-Coroutine-Framework (Github 17.6k)
Swoole ist eine in c/c++ geschriebene Netzwerkkommunikationserweiterung, die es PHP-Entwicklern ermöglicht, leistungsstarkes und hochparalleles TCP-, UDP- und Unix-Socket zu schreiben , HTTP, WebSocket und andere Dienste machen PHP nicht mehr auf den Webbereich beschränkt.
Swoole kann in den Bereichen Internet, Mobilkommunikation, Cloud Computing, Online-Spiele, Internet der Dinge (IOT), Internet der Fahrzeuge, Smart Homes und anderen Bereichen weit verbreitet eingesetzt werden. Der Einsatz von PHP + Swoole kann die Effizienz der IT-Forschungs- und Entwicklungsteams in Unternehmen erheblich verbessern und sich stärker auf die Entwicklung innovativer Produkte konzentrieren.
Beide haben ähnliche FunktionenWelches ist also besser? Wie sollen wir wählen?
Hören wir uns die Erfahrungen und Meinungen zur Verwendung von PHPer an
1: LernkostenErklären wir zunächst die Perspektive der chinesischen PHP-Website:
Für Anfänger sind wir eher geneigt Workerman empfehlen: Einfach, leicht zu bedienen, gute Skalierbarkeit und schnell einsetzbar! Liegt der Wert der PHP-Sprache nicht darin, dass sie einfach und benutzerfreundlich ist?
Es gibt derzeit nur sehr wenige aktuelle Kurse zu Workerman im Internet, daher hat PHP Chinese kürzlich sorgfältig eine Reihe zusammengestellt:PHP Workerman-Grundlagen bis hin zu praktischen Kursen, heute gestartet! Ich hoffe, es kann den Schülern helfen, ihre Fähigkeiten zu verbessern!
Kursname:
"PHP Workerman+ThinkPHP6 Instant Messaging Chat System
"(ThinkPHP6+Workerman/websocket)
Dieser Kurs wurde auf Basis von PHP entwickelt Ererman erstellt einen WebSocket-Dienst Echtzeit-Web-Chat-System, der Kursinhalt umfasst hauptsächlich: 1. Websocket-Kommunikationsprinzip und Beziehung zu http
2. QQ-Gruppen-Chat-Prinzip und Implementierung 5. Eins-zu-eins-Privatchat und zufällige Zuweisung durch den Kundendienst6. Der Kundendienst erhält eine Online-Kundenliste usw. 7.
Interessierte Studierende, beeilen Sie sich und steigen Sie in den Bus, um sich den neuen Veranstaltungspreis zu sichern!
Zeitlich begrenzte Rabattveranstaltung:
Originalpreis ¥399 Yuan, zeitlich begrenzter Rabattpreis ¥189 Yuan, endet am 8. Dezember!
Alle Kurse werden voraussichtlich vor dem 12.8 aktualisiert, dann werden die Preise bis zu einem gewissen Grad erhöht
!opering adresse ↓ Antwort https: //www.php.cn/course/1475.html
(Course Consultation + Kursmaterial Sammlung)
Netizen-Bewertung 1:
Wenn Sie noch keine Erfahrung in der Netzwerkprogrammierung oder Multiprozessentwicklung haben, empfehle ich Ihnen, mit Workerman zu beginnen. Schließlich ist Workerman in reinem PHP-Code implementiert. Sie werden keine großen Schwierigkeiten haben, seine Prinzipien zu verstehen und mit Problemen umzugehen Tiefe.
Durch eingehendes Studium von Workerman können Sie die Grundkenntnisse im Zusammenhang mit der Netzwerkprogrammierung erlernen, wie diese Art von Programm entworfen und implementiert wird und auf welche Details geachtet werden muss. Sie können auch lernen, wie man Multiprozessprogramme entwickelt und wie man Prozesse verwaltet und zwischen ihnen kommuniziert.
Sobald Sie diese klar verstanden haben, werden Sie das Gefühl haben, dass die Schwelle beim Übergang zu Swoole nicht so hoch ist. Wenn Sie direkt mit der Nutzung von Swoole beginnen, müssen Sie zumindest die Verwaltung und Kommunikation zwischen den Prozessen selbst implementieren, und Sie müssen dies möglicherweise nicht tun habe sogar eine Idee.
Beginnen Sie von flacher bis tiefer mit den Grundlagen und steigern Sie sich dann zum fortgeschrittenen Niveau.
Netizen-Bewertung 2:
swoole ist eine Erweiterung von PHP und basiert nicht auf anderen Erweiterungen. Die unterste Ebene ist C und kann mit hoher Leistung direkt im Programm aufgerufen werden. Workman verwendet natives PHP und verlässt sich auf andere Erweiterungen, daher müssen Sie das Quellcodepaket herunterladen.
Ersteres kann so verstanden werden, dass Swoole eine für PHP bereitgestellte API ist. Sie ist relativ nativ, sodass sie die Geschäftslogik in der Praxis nicht kapselt und von Ihnen selbst entwickelt werden muss. Letzteres fasst bestimmte Geschäftsanforderungen zusammen und erleichtert den Einstieg.
Ich lerne Swoole seit ein paar Monaten. Es erfordert viel Grundwissen und wird in der Praxis selten verwendet, aber ich denke, es lohnt sich, es zu lernen.
Kurz gesagt, welches verwendet werden soll, hängt davon ab, wofür es verwendet wird, und die öffentliche Nachfrage hat möglicherweise geringere Entwicklungskosten. Für einige spezifische Anforderungen können Sie auch Swoole studieren.
Netizen-Bewertung 3:
Workerman empfehlen! Die direkte C-Erweiterung von Swoole ist nicht für fortgeschrittene Anfänger geeignet. Anfänger wollen zunächst ein Paradigma beherrschen und dann Schritt für Schritt vorgehen.
Workerman hat auch das offizielle Web-Framework Webman veröffentlicht und sein Stresstest-Ranking ist höher als Swoole. Man kann ohne Übertreibung sagen, dass Workerman derzeit die ausgereifteste und kostengünstigste PHP-Lösung ist und der Schwellenwert immer noch niedrig ist.
Netizen-Bewertung 4:
swoole ist eine in der Sprache C entwickelte PHP-Erweiterungsklasse und stellt bestimmte Anforderungen an PHP-Programmierer Es gibt viele Kenntnisse, die sie erlernen müssen, und Swoole ist im Allgemeinen für erfahrene Entwickler geeignet. Workerman ist ein reines PHP-Entwicklungsframework, mit dem man leicht beginnen kann. Es wird gesagt, dass Sie, solange Sie PHP kennen, damit Socket-Anwendungsdienste entwickeln können.
Es wird empfohlen, zuerst Workerman und dann Swoole zu lernen.
Netizen-Bewertung 5:
Workerman ist ein in reinem PHP implementiertes residentes Speicherframework mit synchronem Blockierungsmodus. Lernen Sie dies zunächst, um ein gewisses Verständnis für den residenten Speichermodus und Speicherlecks zu erlangen.
Workerman lernt Swoole, nachdem er sich damit vertraut gemacht hat. Zusätzlich zum residenten Gedächtnis verfügt Swoole auch über Coroutinen, die im traditionellen Entwicklungsmodell nicht vorhanden sind. Coroutinen ähneln Threads. Während des Entwicklungsprozesses muss man sich auf die Betriebsprobleme zwischen den Daten in jeder Coroutine konzentrieren.
Zweitens: Praktische Anwendung
Netizen-Bewertung 1:
Eines meiner Open-Source-Projekte verwendet die Workerman-Projektansicht, die auf weniger Umgebungen angewiesen ist und weniger schwierig zu entwickeln ist. Wenn es nicht Zehntausende gleichzeitiger Anfragen gibt, wird Workerman empfohlen. Aber meine Erfahrung zeigt, dass 95 % der Projekte nicht über Zehntausende Parallelität verfügen. Für Anfänger empfehle ich auch Workerman. Sie können gleichzeitig auch Swoole lernen. Schließlich sparen Coroutinen Hardware-Ressourcen. Außerdem ist der Autor von Workerman sehr geduldig bei der Beantwortung verschiedener Fragen.
Netizen-Kommentar 2:
Swoole ist eine Erweiterung, wenn Sie Swoole verwenden müssen Dinge können auch verwendet werden, und aus Anwendungssicht bevorzuge ich Workerman GateWorker. Diese können viele Probleme direkt lösen und Grundlagenforschung vermeiden
Netizen-Bewertung 3:
Workerman ist im Moment zu chaotisch ist schließlich stabil, es verwendet natives PHP. Ich spiele schon eine Weile Swoole und es gibt zu viele Fallstricke.
Netizen-Kommentar 4:
Ich habe eine Woche lang mit der Bereitstellung von Swoole gekämpft und es schließlich geschafft, mich mit vielen Bibliotheken und Erweiterungen von Drittanbietern auseinanderzusetzen, also habe ich es vergessen darüber.
Gatewayworker verwendet direkt das XFTP-Tool, um den Ordner hineinzuziehen und dann zu starten, was eine Menge Sorgen erspart.
Für einen Neuling wie mich, unabhängig von Clustern, zig Millionen Parallelität oder Containern, wähle ich Gatewaywroker.
Netizen-Bewertung 5:
Ich persönlich denke, dass sowohl Swoole als auch Workerman E/A-Probleme mit hoher Parallelität lösen können, aber sie verwenden zwei Ideen. Es gibt niemanden, der überlegen oder unterlegen ist. PHP-Erweiterungen in C zu schreiben, um Probleme zu lösen, scheint großartig zu sein, aber das ist nicht unbedingt wahr. Beim Schreiben von PHP-Erweiterungen in C sollte der Vergleich von C-Programmierern durchgeführt werden, nicht von PHP-Programmierern. Dann ist die C-Sprache fortgeschrittener als die PHP-Sprache. In diesem Fall kann jeder C zum Entwickeln von Websites verwenden.
Neue Kursempfehlung:
Drei: Leistung
Netizen-Bewertung 1:
sagte das Swoole ist besser als Workerman. Das liegt an der Person, die kommentiert hat Workerman hat es nie verwendet, er glaubt nur, dass C++ schneller als PHP ist, und glaubt, dass das Gleiche auch für sein Programm-Framework gilt.
Workerman lädt und analysiert die PHP-Datei jedoch nur einmal und befindet sich dann im Speicher, was die Festplatten-E/A- und PHP-Anforderungsinitialisierung, die Erstellung der Ausführungsumgebung, die lexikalische Analyse, die Syntaxanalyse, die Opcode-Kompilierung, das Schließen von Anforderungen usw. erheblich reduziert viele andere Kosten Zeitprozess. Rein aus dem Vergleich der Sprachebenen sollte es also mehr um den Unterschied zwischen C++ und Maschinencode gehen.
Beide sind sehr gute Open-Source-Frameworks, es kommt nur darauf an, ob man C++ oder PHP bevorzugt
Netizen-Bewertung 2:
Tatsächlich ist die Leistung fast gleich, Workerman ist stabiler, kann Probleme finden , und ist einfacher zu warten
Netizen-Bewertung 3:
In Bezug auf die Laufergebnisse ist jeder Indikator von Workerman etwas höher als der von Swoole. Insgesamt sind die Ergebnisse von Swoole und Workerman ähnlich, aber das ist so nur eine laufende Partitur. Der tatsächliche Effekt hängt immer noch vom tatsächlichen Projekt ab.
Netizen-Bewertung 4:
Ich glaube, sie haben beim Vergleich beider Seiten einen Fehler gemacht.
Workman ist in PHP geschrieben, aber das Wesentliche besteht darin, pcntl und andere Erweiterungen zu verwenden, um die Funktion zu implementieren in C/C++, aber es erscheint tatsächlich in Form einer PHP-Erweiterung
Es handelt sich also tatsächlich um PHP-Erweiterungen
Es vergleicht also tatsächlich die Leistung von Erweiterungen wie pcntl- und swoole-Erweiterungen
Ist das nicht normal, dass Workman ist nicht langsam?
Netizen-Bewertung 5: https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=db&l=zik073-1r
Dies ist eine maßgebliche ausländische Stresstestorganisation www. techempower.com Die 19. Runde des Stresstests mit Datenbankgeschäft, Swoole verwendet Datenbankverbindungspool + Coroutine und Workerman ist die ursprüngliche PHP-MySQL-Blockierungsverwendung. Die Schlussfolgerung ist immer noch, dass es zwischen beiden und allen keinen großen Leistungsunterschied gibt Die Leistungsindikatoren sind besser als bei Workerman, insbesondere bei Klartext, der etwa 35 % höher ist als bei Swoole. Dabei handelt es sich natürlich nur um das Stresstestergebnis, das nur teilweise Referenzaussage hat und nicht das Endergebnis des eigentlichen Projekts darstellt.
Empfohlener neuer Kurs:
Vierer: Ökologie
Netizen-Bewertung 1: Aufgrund der Projektanforderungen, Smart Home und dergleichen, ursprünglich geplant Verwenden Sie C. Denken Sie daran, dass Swoole und Workerman sehr beliebt und ausgereift sind und viele stabile Anwendungsszenarien haben. Warum können Sie es nicht mit diesen beiden C-Levels versuchen? Wie gut kann es mit PHP sein? um die Bedürfnisse zu erfüllen?
Heute habe ich also ein allgemeines Verständnis von Swoole und Workerman. Der erste Eindruck von Swoole ist nicht so gut wie erwartet, aber Workerman überrascht mich sehr ...
Lassen Sie uns zuerst über Swoole sprechen:
Swoole , das Handbuch oben auf der offiziellen Website kann nicht geöffnet werden, und dann habe ich nach langer Zeit ein Handbuch gefunden. Warum kann das NB-Team die offizielle Website nicht anständiger machen? Zumindest das Handbuch oben auf der offiziellen Website auf die richtige Adresse ändern? Ich habe nach dem Problem gesucht, konnte aber keine Lösung finden. Ich habe auch Probleme und Foren gepostet, aber keine Antwort ...
Lass uns reden über workerman:
Die Beispiele von Workerman sind sehr vollständig und die Erklärungen sind detailliert, viel besser als Swoole. Der wichtige Punkt ist, dass reines PHP PHP-CLI in PHP5.3 so hochleistungsfähig machen kann. Die Zeiten sind ausgereift, und ich habe es nie getan Ich hatte immer Zeit, Großprojekte auf dieser Basis durchzuführen. Ich habe immer das Gefühl, dass die Leistung nicht gut ist, aber Workerman hat mich überrascht.
Die von Workerman verwendeten Erweiterungen „pcntl“ und „posix“ sind ebenfalls PHP-eigene Erweiterungen und werden standardmäßig in die Streams-Reihe integriert. Es gibt also keine Erweiterung Bei diesen beiden Erweiterungen handelt es sich um sehr ausgereifte Erweiterungen, die standardmäßig in PHP-Streams aktiviert sind. Wenn Sie Kqueue und Epoll wie Nginx aktivieren möchten das gleiche pecl wie swoole. Diese Erweiterung ist ebenfalls sehr stabil und wird nicht von PHP7 oder PHP8 unterstützt. Ereignisse sind eine flache Kapselung der zugrunde liegenden Ebene und haben keine Leistung. Die Frage hängt davon ab, wie Sie sie verwenden und ob Sie wissen, wie man sie verwendet.
Abschließend:
Ich stimme nicht mit dem überein, was Han Tianfeng gesagt hat, dass Swoole fortgeschrittener sein muss. Tatsächlich sind beide für Sie verpackt, aber wenn es ein Problem gibt, kann der Arbeiter das Protokoll verstehen Ändern Sie den gekapselten PHP-Code. Zumindest müssen Sie die C-Sprache kennen, um ihn zu ändern.
Ich habe mich vorerst für die Verwendung von Workerman entschieden Das oben genannte Problem tritt auf, ich kann den PHP-Code von Workerman ändern, um es zu lösen. Und swoole wird in C neu implementiert, es gibt viele Fallstricke, die verbessert werden müssen, und die Community ist nicht aktiv, es interessiert niemanden, und ich weiß es nicht. Ich habe nicht die Energie, den C-Code zu überprüfen, um den Grund zu finden. Ich habe festgestellt, dass Workerman auch stabiler ist. Tatsächlich hoffe ich immer noch, dass Swoole sich schnell entwickeln und verbessern kann .
Das Obige ist eine rein persönliche Meinung, alles dient der gesunden und schnellen Entwicklung von PHP ...
Netizen-Kommentar 2:
Tatsächlich sind sie es fast das Gleiche. Es ist nicht einfach, direkt auf der Grundlage von Swoole oder Workerman zu entwickeln.
Aber jetzt können Sie auf der Grundlage von Frameworks wie Hyperf und Webman entwickeln. Wenn Sie auch imi ausprobieren, werden Sie feststellen, dass es bei der Verwendung grundsätzlich keinen Unterschied gibt.
Imi sagte, ich unterstütze es trotzdem!
Netizen-Bewertung 3:
Workermans Dokumentation ist sehr gut, und ich denke, Workerman ist einfacher zu verwenden und viel stabiler als Swoole
Netizen-Bewertung 4:
Offiziell Die Lösung ist fpm+opcache+jit+long-Verbindung oder Workerman, die so stabil ist wie ein alter Hund. Wenn Sie Probleme haben, können Sie diese leicht selbst lösen.
Es gibt wirklich keine Möglichkeit, die Sprachsynthese von Drittanbietern einzuführen. Wenn Sie Bedenken hinsichtlich der offiziellen Coroutinen oder asynchronen Lösungen von PHP haben, können Sie die vom Autor von Amphp gestartete Fiber-Erweiterung durchsuchen, die in die RFC-Phase eingetreten ist.
Netizen-Bewertung 5:
Workerman entspricht mehr dem Geist von PHP. Als Workerman-Benutzer unterstütze ich Workerman voll und ganz. Darüber hinaus sind die Mitarbeiter sehr seriös, sie beantworten Fragen von Anfängern im Forum zeitnah und sind äußerst freundlich zu Anfängern.
Empfohlene Qualitätskurse:
1. ThinkPHP-Version: „PHP Workerman Basics and Practice: Instant Messaging Chat System“ (Zuletzt online am 30.11.2022)
( Originalpreis ¥399 Yuan, Neuer Rabattpreis ¥189 Yuan, nur für 8 Tage)
Offene Adresse↓↓↓
https://www.php.cn/course/1475.html
2. Laravel -Version: 《 Baidu Shangqiao IM Instant Messaging (Laravel tatsächlicher Kampf)
》 (ursprünglicher Preis ¥ 299 Yuan,
Limited Time Rabatt Preis ¥139 Yuan, nur für 8 Tage)
Offene Adresse↓↓↓
https://www.php.cn/course/1131.html
(Kursberatung + Kursmaterialsammlung )
🎜🎜 🎜Stimmen Sie den obigen Ansichten von PHPer zu? Willkommene Experten zum Sprühen! 🎜🎜🎜