Da das Unternehmen eine Schnittstelle mit hoher Parallelität entwickeln möchte, um Serverressourcen zu sparen, führt es Untersuchungen zu einigen gängigen Frameworks durch, um festzustellen, welche Leistung die Anforderungen erfüllt
Vorbereitende Vorbereitung
Installieren Sie das Stresstest-Tool (ich verwende ab)
Der vollständige Name von ab ist: Apache Bench
Die Erklärung auf der offiziellen Website lautet wie folgt: (Empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Experten)
AB ist die Leistung von Apache Testtools für das Hypertext Transfer Protocol (HTTP). Seine Entwurfsabsicht besteht darin, die Ausführungsleistung des aktuell installierten Apache darzustellen, hauptsächlich um zu zeigen, wie viele Anfragen pro Sekunde Ihr installierter Apache verarbeiten kann.
Installations-Framework
Ich habe yii2, ci, lumen5.0, tp5, biny Framework
zum Testen installiert
Verbinden Sie jeden Frame mit der lokalen Datenbank, schalten Sie den Cache ein und führen Sie zwei Testrunden durch, eine für die reine HTML-Seite und eine für die Datenbankberechnungsseite
Die Druckmessung beträgt 20 Parallelität , und die Gesamtzahl beträgt 300
Testergebnisse
Die Ergebnisse des Datenbankbetriebs- und Wartungsstresstests lauten wie folgt:
Das reine HTML Die Ergebnisse des Schnittstellen-Stresstests lauten wie folgt:
Ergebnisanalyse
Native Skripte haben die stärkste Fähigkeit, Druck standzuhalten, weisen jedoch eine geringe Entwicklungseffizienz und hohe Post- Wartungskosten. Außerdem ist hier nur ein einfacher Test des Datenbankbetriebs. Die Lücke ist möglicherweise nicht so groß
Der Parallelitätseffekt von ci und biny ist der beste, aber die ci-Version ist sehr alt , und die Aktualisierung kann ein Problem sein, während Biny das aktuelle Open-Source-Framework von Tencent ist und es an einigen Stellen immer noch Fehler gibt und die Dokumentation nicht benutzerfreundlich genug ist. Derzeit sind nur offizielle Dokumente in das Framework eingebettet Handbuch, und die Lesbarkeit ist sehr schlecht
Obwohl die Effizienz von tp5 nicht so gut ist wie die der oben genannten drei Frameworks, ist die Leistung immer noch gut. Ja, die Unterstützung für PHP7 ist sehr gut Das Framework-Verzeichnis ist verwirrend, was der Entwicklung großer Projekte nicht förderlich ist.
Die Parallelitätsunterstützung von Lumen und YII2 ist nicht sehr gut, aber die beiden Frameworks selbst sind sehr leistungsfähig, darunter YII2 restful Die Schnittstellenunterstützung ist benutzerfreundlicher. Wenn Sie nicht knapp bei Kasse sind, wird empfohlen, yii2 für die Entwicklung einer erholsamen Schnittstellenspezifikation zu verwenden
Das obige ist der detaillierte Inhalt vonWie man PHP einem Stresstest unterzieht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!