Turso vs Neon vs PlanetScale : benchmark réel
Choisir une DB managed pour un projet solo en 2026, c'est un peu comme choisir un framework en 2015 — chacune a ses fans, ses benchmarks de marketing, et personne ne te dit la vérité sur ce qui se passe en prod. J'ai donc pris patricehuetz.fr et j'ai fait tourner les trois (Turso, Neon, PlanetScale) en parallèle pendant 30 jours, sur le même trafic, la même charge. Voici les chiffres bruts et mon verdict.
Le setup
120 000 visiteurs/mois, ~4 requêtes DB par pageview, une table principale blog_posts (107 entrées), une table comments (1 340 entrées), une table views_log (120k lignes/mois). Charge mixte : 80% SELECT simples, 15% SELECT avec JOIN, 5% INSERT.
J'ai dupliqué la même DB sur les 3 providers, pointé mon site en production sur Turso (master), et les deux autres recevaient le même trafic en shadow via un dual-write. Mesures : latence p50/p95/p99, taux d'erreur, coût réel.
Les résultats bruts
Latence (depuis Vercel Functions, eu-west-1)
| Métrique | Turso | Neon | PlanetScale |
|---|---|---|---|
| p50 SELECT simple | 8 ms | 14 ms | 22 ms |
| p95 SELECT simple | 18 ms | 42 ms | 78 ms |
| p99 SELECT simple | 34 ms | 52 ms | 145 ms |
| p50 JOIN 2 tables | 12 ms | 18 ms | 28 ms |
| p95 JOIN | 28 ms | 64 ms | 112 ms |
| p50 INSERT | 14 ms | 12 ms | 18 ms |
| p99 INSERT | 42 ms | 48 ms | 95 ms |
Turso gagne sur les lectures (grâce à ses replicas régionaux), Neon gagne légèrement sur les INSERT, PlanetScale est le plus lent à cause de sa couche proxy Vitess qui ajoute ~10 ms à chaque requête.
Coût mensuel (120k visiteurs, 480k pageviews, ~2M requêtes)
| Provider | Plan utilisé | Coût / mois |
|---|---|---|
| Turso | Scaler | 0 $ (free tier 1 GB, 1B rows read) |
| Neon | Pro | 19 $ |
| PlanetScale | Scaler | 39 $ |
Turso est le seul qui tient dans son free tier pour mon niveau de trafic. Neon et PlanetScale demandent un plan payant dès qu'on dépasse 500 MB de stockage ou 1 GB de trafic sortant.
DX (Developer Experience)
| Critère | Turso | Neon | PlanetScale |
|---|---|---|---|
| Setup initial | 5 min | 10 min | 20 min |
| CLI propre | ✅ | ✅ | ✅ |
| Migration workflow | Drizzle natif | Drizzle natif | Nécessite pscale CLI |
| Branching DB | ✅ branches (expérimental) | ✅ branches (mature) | ✅ branches |
| Local dev | SQLite direct | Connect cloud ou Docker | Docker |
| Observability | Bon | Excellent | Bon |
Neon a le meilleur tooling (dashboard magnifique, branching mature, monitoring). Turso est le plus simple (tu fais du SQLite, point). PlanetScale est le plus verbeux à setup mais a un workflow branching très carré.
Les 3 surprises
Surprise 1 : Turso a un free tier fou
1 milliard de lectures par mois, 25 millions d'écritures, 1 GB de stockage. Pour 0 $. Dans un projet solo, ça couvre 99% des cas. Ce n'est pas un free tier de démo — c'est utilisable en vrai.
Surprise 2 : PlanetScale est cher sans être rapide
Je m'attendais à ce que PlanetScale soit plus lent que Neon (le MySQL via Vitess ajoute de la latence), mais pas 3× plus lent sur certaines percentiles. À 39 $ le mois, c'est dur à justifier pour mon niveau de trafic. PlanetScale est probablement mieux adapté aux gros workloads en sharding, pas aux petits projets.
Surprise 3 : Neon est le seul qui ne m'a pas surpris
Neon a fait exactement ce qui était annoncé : bon tooling, latence raisonnable, pricing fair. Il n'est le meilleur sur aucun axe, mais le deuxième sur presque tous. C'est le choix safe — le Toyota du serverless DB. Pas de coup de cœur, pas de déception.
Ma matrice de décision
| Cas d'usage | Recommandation |
|---|---|
| Projet solo, < 500k pageviews/mois | Turso (free, rapide, dev local SQLite) |
| Projet avec équipe, branching actif | Neon (tooling supérieur, branching mature) |
| Projet à haute écriture, sharding prévisible | PlanetScale (Vitess scale bien, mais c'est cher) |
| Edge functions partout | Turso (libSQL client + replicas edge) |
| Postgres strict requis | Neon (vrai Postgres) |
Les 3 choses que je n'ai **pas** mesurées
Pour être honnête :
- 1.Le cold start des connexions sur Neon peut être pénible (5-10 s la première requête après inactivité). PlanetScale n'en a pas parce qu'il fonctionne en HTTP. Turso n'en a pas non plus.
- 2.Le backup/restore. Je ne l'ai pas testé en live — tous les trois proposent des snapshots, mais je n'ai pas vérifié le temps de restore sur un gros DB.
- 3.La résilience multi-région. Sur un traffic de 120k visiteurs/mois, pas vraiment un enjeu. Pour un projet global, ça change le calcul.
Ce qu'il faut retenir
- 1.Turso gagne sur latence et coût pour les projets solo avec lecture dominante.
- 2.Neon gagne sur le tooling — dashboard, branching, observability.
- 3.PlanetScale est cher et pas plus rapide que les autres pour mon workload.
- 4.Le vrai gagnant dépend de ta croissance prévue — Turso si tu restes solo, Neon si tu passes en équipe.
Pour aller plus loin sur la stack complète derrière patricehuetz.fr et les choix d'architecture pour un blog technique, j'ai écrit un livre sur Claude Code + Ralph Loop :
Soutenez mon travail sur Patreon
Accès anticipé aux articles, contenu exclusif, et la satisfaction de soutenir un auteur indépendant.
Rejoindre — à partir de 3€/mois