En 2014, nous avons publié les résultats du benchmark réalisé par TechEmpower concernant les différents frameworks web, terme qui inclut plateformes web et micro-frameworks. Un an plus tard, ils ont publié une nouvelle série de résultats décrivant des changements importants dans les performances des 10 meilleurs frameworks web. Interpellés par cette concurrence pour le framework web le plus rapide, 133 contributeurs au total ont soumis 2 835 git commits, certains frameworks ayant réussi à accroître considérablement le nombre de réponses par seconde (RPS), tandis que d'autres ont vu de modestes améliorations.
Les tests de cette année couvrent environ 125 frameworks web sur deux configurations matérielles : Xeon E5 (le même que l'année précédente) et Amazon C3.Large, un processeur E5-2680 2 vCPU Xeon qui tourne sur EC2 (l'année dernière c’était M1.Large). Tous les tests sont exécutés sur Linux. Le benchmark exécute différents types de requêtes : un "Hello, World!" en format JSON, une ligne d'une base de données, plusieurs lignes d'une base de données, toutes les lignes d'une base de données, la mise à jour de données dans une base de données, un "Hello, World!" en format texte brut. Il existe des différences importantes dans la façon dont les frameworks web réagissent face à ces différents types de tests. Nous présentons ci-dessous le top 10, ainsi que quelques autres frameworks les plus connus en réponse de la requête JSON.
(Cliquez sur l'image pour l'agrandir)
Voici nos observations :
- Le framework le plus performant cette année a doublé le RPS de l'année dernière sur le même matériel, de 1,05 M à 2,2 M RPS.
- LWAN affiche la meilleure performance, un nouveau venu.
- Le top 10 des frameworks sont écrits en C, C ++ ou Java.
- Il existe des différences très importantes entre les résultats sur Dell Xeon E5 et C3.Large EC2. Nous nous attendions à de meilleurs résultats sur Dell Xeon, mais pas 25 fois meilleures.
- Il y a des changements importants dans le top 10 selon les deux configurations matérielles.
- Le meilleur framework sur C3.Large EC2 est relativement nouveau et inconnu. Nommé Ur/Web, il est écrit en Ur, inspiré par ML et Haskell et optimisé pour la vitesse.
- Alors que certains frameworks ont fait de grands progrès depuis l'année dernière, d'autres se sont à peine améliorés. Bien que Go et Node.js étaient dans le top 10, il sont désormais respectivement n°19 et n°37.
- Dart a fait d’importants progrès de 54 896 à 243 999 RPS, mais il est encore loin derrière à la 33ème position.
Pour ceux qui sont intéressés à améliorer la performance de leur framework préféré, ils sont invités à contribuer et soumettre des pulls requests. La page Code Source et Exigences fournit des détails sur chaque type de test effectué ainsi que d'autres renseignements connexes. Comparer les Performances de différents Frameworks Web fournit plus de détails sur la manière dont les essais sont effectués et des observations générales sur ce benchmark.