Page 1 sur 1
Problème de concurrence avec SQLite en environnement multi-thread
Publié : mar. août 26, 2025 1:45 pm
par toto_tech
Coucou, j'ai une app Python qui utilise SQLite avec 10 threads. J'ai souvent des 'database is locked'. Je croyais que la version 3.35+ gérait mieux la concurrence ?
Re: Problème de concurrence avec SQLite en environnement multi-thread
Publié : mar. août 26, 2025 3:45 pm
par flo34
SQLite reste limité en écritures concurrentes. As-tu essayé WAL mode ? (PRAGMA journal_mode=WAL). Ça améliore beaucoup dans nos tests.
Re: Problème de concurrence avec SQLite en environnement multi-thread
Publié : mar. août 26, 2025 4:45 pm
par guillaume
WAL mode + augmenter le timeout (PRAGMA busy_timeout=3000) peut aider. Mais au-delà de 5-6 threads actifs, passe sur PostgreSQL vraiment...
Re: Problème de concurrence avec SQLite en environnement multi-thread
Publié : mer. août 27, 2025 12:45 am
par toto_tech
Merci ! Le WAL mode a réduit les erreurs, mais j'ai encore des locks quand plusieurs threads UPDATE la même table. Je vais peut-être devoir mettre un verrou applicatif...
Re: Problème de concurrence avec SQLite en environnement multi-thread
Publié : mer. août 27, 2025 6:45 am
par flo34
Oui, ou batch tes updates. Chez nous on accumule les changements en mémoire et on fait un gros UPDATE toutes les 100 opérations. Gain énorme !