webman Leistung

Traditioneller Framework-Anforderungsprozess

  1. nginx/apache empfängt die Anfrage
  2. nginx/apache übergibt die Anfrage an php-fpm
  3. php-fpm initialisiert die Umgebung, z. B. durch Erstellen einer Variablenliste
  4. php-fpm ruft RINIT der einzelnen Erweiterungen/Module auf
  5. php-fpm liest die php-Datei von der Festplatte (verwendet opcache, um dies zu vermeiden)
  6. php-fpm führt eine lexikalische Analyse, syntaktische Analyse und Kompilierung in opcode durch (verwendet opcache, um dies zu vermeiden)
  7. php-fpm führt den opcode aus, einschließlich 8.9.10.11
  8. Das Framework wird initialisiert, z. B. durch Instanziierung verschiedener Klassen wie Container, Controllern, Routen, Middleware usw.
  9. Das Framework verbindet sich mit der Datenbank und führt eine Berechtigungsprüfung durch, verbindet sich mit redis
  10. Das Framework führt die Geschäftslogik aus
  11. Das Framework schließt die Datenbank- und redis-Verbindungen
  12. php-fpm gibt Ressourcen frei, zerstört alle Klassendefinitionen, Instanzen, zerstört die Symboltabelle usw.
  13. php-fpm ruft die RSHUTDOWN-Methoden der einzelnen Erweiterungen/Module in der Reihenfolge auf
  14. php-fpm leitet das Ergebnis an nginx/apache weiter
  15. nginx/apache gibt das Ergebnis an den Client zurück

Der Anforderungsprozess von webman

  1. Das Framework empfängt die Anfrage
  2. Das Framework führt die Geschäftslogik aus (opcode-Binärcode)
  3. Das Framework gibt das Ergebnis an den Client zurück

Ja, ohne nginx als Reverse Proxy hat das Framework nur diese 3 Schritte. Man kann sagen, dass dies das Maximum für ein PHP-Framework ist, was bedeutet, dass die Leistung von webman mehrere Male oder sogar Dutzende Male höher ist als die traditioneller Frameworks.

Mehr Informationen siehe Stresstest