Évaluation des frameworks Web haute vitesse 2020
J'ai été perplexe l'autre jour en choisissant une solution pour le serveur principal d'un constructeur de site chargé. L'architecture actuelle est construite sur le framework MVC populaire dans le bon vieux PHP. Un tel cadre est bon pour le développement rapide d'une grande quantité de fonctionnalités et un démarrage rapide, nous le savons tous. Ce n'est qu'après ce démarrage que le moment vient bientôt où des goulots d'étranglement surviennent qui nécessitent des performances accrues et le cadre universel habituel ne peut plus faire face.En train de trouver une solution, je suis tombé sur des analyses de la vitesse de traitement des demandes pour un grand nombre de frameworks qui existent aujourd'hui. J'ai choisi parmi eux ceux qui ont plus de 5 000 étoiles sur GitHub et qui traitent plus de 150 000 requêtes par seconde. Dans la formule de calcul de la note, le deuxième paramètre est au carré, car les fluctuations des étoiles sont beaucoup plus importantes.Par conséquent, la formule est la suivante:Nombre d'étoiles sur GitHub * (Nombre de demandes par seconde) ^ 2 Les caractèresgras en termes de vitesse de traitement des demandes sont mis en évidence en gras.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. Perfect [swift] - 218 63410. Chi [go] - 274 50711. Fastify [js] - 177 37212. Falcon [python] - 208 80513. Bouteille [python] - 168 77614. Ktor [kotlin] - 162 84215. owboy [élixir] - 160 063Mesures du nombre de demandes en deuxième conduite en utilisant wrk. Le mécanisme de comptage est basé sur les réponses dans trois scénarios:- ouvrir la page principale avec la réponse 200 et le contenu vierge- ouvrir les pages / user avec la réponse 200 et le contenu vierge- ouvrir les pages / user / __ ID__ avec la réponse 200 et c __ID__ dans le contenuSi vous n'avez pas trouvé votre framework préféré, alors regardez dans la source, elles sont là plus d'une centaine. Sinon, il apparaîtra bientôt et la note sera revue. Vous pouvez accélérer cela en créant une demande d'extraction avec votre infrastructure.Source de données: GitHub et cadres Web.Si vous avez de l'expérience dans l'utilisation de l'un de ces cadres, je serai heureux de discuter avec vous dans les commentaires.Source: https://habr.com/ru/post/undefined/
All Articles