vendredi 25 septembre 2026

À propos

Contact

Performance

SQLite pour tester WordPress : promesses et vraies limites de performance

Avant l'intégration officielle du support SQLite, test de l'extension sqlite-database-integration : ce qui fonctionne, ce qui rame et pourquoi ce n'est pas pour la production.

Par Clément Hadrot • 5 janvier 2023 • 4 min de lecture • Aucun commentaire
SQLite pour tester WordPress : promesses et vraies limites de performance

Qu’est-ce que change vraiment SQLite pour WordPress ? C’est la question posée après la sortie de l’extension officielle sqlite-database-integration, développée par l’équipe du programme Performance de WordPress, qui permet de faire tourner une installation complète sans serveur MySQL séparé, la base de données tenant dans un unique fichier local.

L’intérêt immédiat saute aux yeux pour des environnements de démonstration ou de test rapide : plus besoin de provisionner un serveur MySQL, plus de configuration de connexion réseau, un simple fichier suffit. Reste à savoir ce que cela coûte réellement en performance dès que la charge augmente, et si l’option est envisageable au-delà d’un simple bac à sable.

Le protocole de test

Une installation WordPress de démonstration a été dupliquée deux fois à l’identique, l’une sur MySQL 8 classique, l’autre avec l’extension SQLite activée, toutes deux peuplées des mêmes 500 articles de contenu et des mêmes extensions actives. Un test de charge avec k6 a simulé un trafic de lecture croissant, de 10 à 100 utilisateurs virtuels simultanés, sur les pages d’articles et la page d’accueil.

Ce qui fonctionne bien avec SQLite

Sur les scénarios de lecture pure, avec un trafic modéré ne dépassant pas 20 utilisateurs virtuels simultanés, les temps de réponse mesurés restaient étonnamment proches entre les deux bases, l’extension traduisant efficacement les requêtes SQL de WordPress vers la syntaxe SQLite sans surcoût majeur perceptible pour ce type de charge.

k6 run --vus 20 --duration 30s scenario-lecture.js

L’installation elle-même s’est révélée nettement plus rapide à mettre en place : l’extension crée le fichier de base de données automatiquement à l’activation, sans étape de création de base ni d’utilisateur MySQL, un vrai gain de temps pour un environnement de démonstration jetable.

L'essentiel à retenir : SQLite supprime la dépendance à un serveur MySQL séparé pour tester ; Les écritures concurrentes restent le point faible mesuré face à MySQL ; L'extension officielle reste étiquetée expérimentale à ce stade

Ce qui rame dès que la charge augmente

Le test a révélé une limite nette dès que le scénario introduisait des écritures concurrentes, en simulant des commentaires postés simultanément par plusieurs utilisateurs virtuels. SQLite verrouille l’intégralité du fichier de base de données lors d’une écriture, contrairement à MySQL qui gère un verrouillage plus fin au niveau des lignes concernées avec le moteur InnoDB. Au-delà de 30 utilisateurs virtuels effectuant des écritures simultanées, les temps de réponse sur SQLite se sont dégradés de façon marquée, avec des délais d’attente de verrou clairement visibles dans les journaux, alors que MySQL restait stable sur le même scénario.

ScénarioMySQL 8SQLite (extension)
Lecture seule, 20 utilisateurs virtuels180 ms210 ms
Écritures concurrentes, 30 utilisateurs virtuels240 ms1 850 ms

Pourquoi ce n’est pas encore une option de production

Au-delà du verrouillage à l’écriture, l’extension reste marquée expérimentale par ses propres auteurs à ce stade, sans garantie de compatibilité totale avec toutes les extensions du marché qui construisent parfois des requêtes SQL directement adaptées aux spécificités de MySQL. Un test réalisé avec une extension de recherche à facettes a d’ailleurs échoué, l’extension utilisant une syntaxe SQL propre à MySQL non supportée telle quelle par la couche de traduction SQLite.

  • Un site de démonstration jetable, un environnement de formation ou un test rapide de thème : SQLite convient très bien.
  • Un site de production avec un trafic soutenu et des écritures concurrentes fréquentes : MySQL reste largement préférable à ce stade.
  • Vérifier la compatibilité de chaque extension utilisée avant d’envisager SQLite au-delà d’un usage de test.

Ce que ce test ne couvre pas

Ce comparatif ne traite pas WordPress Playground, qui repose sur une architecture différente exécutant WordPress entièrement dans le navigateur via WebAssembly, avec ses propres contraintes de performance distinctes de celles mesurées ici sur un serveur classique avec l’extension SQLite.

Notre verdict

SQLite tient une vraie promesse de simplicité pour tester rapidement WordPress sans infrastructure de base de données dédiée, avec des performances de lecture tout à fait honorables sur une charge modérée. Le verrouillage à l’écriture reste en revanche un frein réel qui écarte, pour l’instant, toute utilisation en production sur un site à trafic soutenu.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi