Avec une base de données
Une lecture et une écriture par requête, à ORM, pilote et base égaux.
Avec une base de données
Une route qui ne fait rien ne ressemble à aucun logiciel. Ce banc exerce ce que fait un vrai service : lire un état, puis l'écrire — 20 lignes lues avec leurs clés étrangères, puis la mise à jour de la ligne lue, sur 10 000 factures SQLite. Les camps utilisent le même ORM, le même pilote, le même schéma et chacun sa copie de la même base. 25 connexions (le pilote est synchrone : au-delà, on mesure une file), tirs de 60 s.
| Témoin | Requête | req/s (témoin · Nodefony) | Nodefony / témoin | Séparation | p99 ms (témoin · Nodefony) | Commit mesuré |
|---|---|---|---|---|---|---|
| Express équipé + drizzle | GET lecture + écriture | 1 154 · 1 117 | 96,7 % | nette | 40,6 · 42,0 | 166c3aaa |
| NestJS équipé + drizzle | GET lecture + écriture | 1 166 · 1 118 | 95,9 % | nette | 40,1 · 41,9 | f08d8c9de ⓘ |
Le budget d'une requête passe de quelques dizaines de microsecondes (route triviale) à près
d'une milliseconde : la base domine, et l'écart entre frameworks devient une
fraction de ce budget. À débit égal le p99 suit le débit : à
25 connexions fixes, la latence est inversement proportionnelle au débit.