AccueilClientsExpertisesBlogOpen SourceContact

Bonne pratique

Ne se connecter à une base de données que si nécessaire

Ce que dit le référentiel

Quelque soit le système de base de données, l’ouverture d’une connexion est un processus coûteux en ressources pour le client et le serveur :

  • Allocation de mémoire et I/O disque pour les buffers,
  • Allers-retours réseaux pour le protocole de connexion,
  • Coût CPU induit.

Exemple : pour Oracle, plusieurs allers-retours sont nécessaires (validation des credentials, information sur le driver, négociation de la taille des paquets optimale, ...). Le fait d’ouvrir et de fermer une connexion nécessite l’allocation et la désallocation de ces ressources ainsi que de nombreux échanges réseaux, à chaque fois.

La bonne pratique qui est usuellement utilisée est la mise en place d’un pool de connexions. Il permet d’optimiser la gestion des connexions ainsi que les performances. Cependant, sa configuration n’est pas forcément une opération triviale (nécessite de superviser le comportement de celui-ci pour trouver le bon paramétrage).

Ceci dit, chaque fois que l’application peut éviter un accès à la base de données, faites-le !

Le "Référentiel d'écoconception web (REW)" est publié par GreenIT.fr dans le cadre des travaux du Collectif conception numérique responsable selon les termes de la licence Creative Commons Attribution.

Plus d'informations sur collectif.greenit.fr et ecoconceptionweb.com.

Notre avis

Grâce à la génération statique de Next.js, nous pouvons minimiser les requêtes à la base de données en pré-rendant les pages au moment du build. Cela signifie que les données sont récupérées une seule fois pendant le processus de build, ce qui élimine le besoin d'accès fréquent à la base de données.

Ensuite, nous pouvons utiliser la génération statique incrémentale de Next.js pour mettre à jour ces pages de manière incrémentale. Cela permet d'avoir des données fraîches et à jour tout en limitant les connexions coûteuses à la base de données, optimisant ainsi à la fois les performances et l'empreinte environnementale.

Règle de validation

Le nombre de connexions à une base de données pour requêter, stocker une donnée non nécessaire à l'utilisation du service doit être inférieur ou égal à 0

Ressources économisées

Processeur
Mémoire vive
Réseau
Bonne pratique précédente
Précédent
Bonne pratique suivante
Suivant
18 avenue Parmentier
75011 Paris
+33 1 43 57 39 11
hello@premieroctet.com

Suivez nos aventures

GitHub
X (Twitter)
Flux RSS

Naviguez à vue