Bewertung von Hochgeschwindigkeits-Web-Frameworks 2020
Ich war neulich verwirrt, als ich eine Lösung für das Server-Backend eines geladenen Site Builders auswählte. Die aktuelle Architektur basiert auf dem beliebten MVC-Framework im guten alten PHP. Ein solches Framework ist gut für die schnelle Entwicklung einer großen Menge an Funktionen und einen schnellen Start, das wissen wir alle. Erst nach diesem Start kommt der Moment, in dem Engpässe auftreten, die eine höhere Leistung erfordern und die üblichen universellen Rahmenbedingungen nicht mehr bewältigen können.Bei der Suche nach einer Lösung stieß ich auf eine Analyse der Geschwindigkeit der Verarbeitung von Anforderungen für eine große Anzahl von Frameworks, die heute existieren. Ich habe aus ihnen diejenigen ausgewählt, die mehr als 5.000 Sterne auf GitHub haben und mehr als 150.000 Anfragen pro Sekunde verarbeiten. In der Formel zur Berechnung der Bewertung wird der zweite Parameter quadriert, da die Schwankungen der Sterne viel größer sind.Infolgedessen lautet die Formel wie folgt:Anzahl der Sterne auf GitHub * (Anzahl der Anforderungen pro Sekunde) ^ 2Fettgedruckte Führungskräfte in Bezug auf die Geschwindigkeit der Anforderungsverarbeitung sind fett hervorgehoben.1. Beego [go] - 359 2792. Gin [go] - 252 8953. FastHttp [go] - 420 4984. Echo [go] - 262 9405. ASP.NET Core[csharp] - 263 7256. Workerman [php] - 349 8977. Mux [go] - 263 5858. Koa [js] - 159 0329. Perfekt [schnell] - 218 63410. Chi [go] - 274 50711. Fastify [js] - 177 37212. Falcon [Python] - 208 80513. Flasche [Python] - 168 77614. Ktor [Kotlin] - 162 84215. owboy [Elixier] - 160 063Messungen der Anzahl der Anfragen in zweite mit wrk durchgeführt. Der Zählmechanismus basiert auf Antworten in drei Szenarien:- Öffnen der Hauptseite mit der Antwort 200 und leerem Inhalt- Öffnen der / user-Seiten mit der Antwort 200 und des leeren Inhalts- Öffnen der / user / __ ID__ -Seiten mit der Antwort 200 und c __ID__ im InhaltWenn Sie Ihr bevorzugtes Framework nicht gefunden haben, suchen Sie in der Quelle nach diesen mehr als hundert. Wenn nicht, wird es bald angezeigt und die Bewertung wird überprüft. Sie können dies beschleunigen, indem Sie mit Ihrem Framework eine Pull-Anfrage erstellen.Datenquelle: GitHub und Web-Frameworks.Wenn Sie Erfahrung mit einem dieser Frameworks haben, werde ich dies gerne in den Kommentaren mit Ihnen besprechen.Source: https://habr.com/ru/post/undefined/
All Articles