Technique

Pourquoi votre système de base de données est-il si lent ?

En tant qu’expert nous accompagnons les entreprises lors de la conception de leurs outils informatique, mais pas que. Nous en assurons également leur maintenance afin qu'ils puissent utiliser un outil toujours performant.

Notre client, rencontrait des ralentissements sur son système de base de données depuis quelque temps. Il était donc important d'y remédier rapidement, afin d'assurer la performance de ce développement. 

 

Alexis - Tech Lead sur le développement Master - Process nous explique cela :

 
" Je travaille sur un outil qui s’applique à diminuer les accidents du travail par la prévention. Il permet de définir des situations dangereuses dans une entreprise et de trouver des solutions pour éviter qu’elles ne surviennent.
 
Le développement réalisé il y a plusieurs années sur un jeu de données relativement restreint, connaissait un ralentissement depuis quelque temps, compte tenu de la forte croissance des différents scénarios. Ce ralentissement était particulièrement important dans les processus de suppression.
 
En effet, la définition des données de l’application est basée sur une arborescence afin de permettre une grande souplesse de configuration. Or pour supprimer une ligne en haut de l’arborescence, il est nécessaire de supprimer les lignes enfants de manière récursive avec toutes les informations qui peuvent s’y rattacher.
 
Il n’est pas rare d’avoir 6 ou 7 niveaux dans l’arborescence (branche, sous-branche, sous-sous-branche…). De ce fait une « simple » suppression d’une branche principale peut entrainer la suppression de plusieurs milliers de sous branches. Ce qui pouvait prendre environ entre 10 et 20 minutes de traitement sur la base actuelle.

L’expérience utilisateur s’en trouvait fortement dégradée; sans parler de la perte de temps. J’ai donc décidé de travailler sur une optimisation dans l’optique d’améliorer les temps de réponse.

Les index mis en place dés le début du projet étaient judicieux pour avoir de bonnes performances en termes de recherche. J’ai donc réfléchi aux index qui étaient nécessaires pour optimiser la suppression. Ces index doivent en effet, permettre de faire des pré sélections de lignes, afin d’éviter de parcourir l’ensemble de la table à chaque suppression. De plus, j’ai dû multiplier ces index sur plusieurs branches afin d’optimiser encore les temps de recherche.

Au final, cela a permis de passer d’un temps de réponse de 10-20 min … à 4-5 secondes sur une base de données postgresql ! "

Bonne performance !

Cette amélioration représente un gain de temps énorme : la tâche devient 240 fois plus rapide et 240 fois moins impactante au niveau énergétique, à puissance de traitement équivalent (même si pour être complètement transparent, cette modification a généra une légère augmentation sur l’espace disque : 100ko environ, dans ce cas ; ce qui reste comparativement faible par rapport au global).

 

Envie d’aller plus loin ?

Publié le 01/08/2025

Un site internet performant

Publié le 01/08/2025

Le SaaS rend enfin l’ERP accessible

Publié le 01/08/2025

Logiciel ERP : quèsaco ?

Publié le 01/08/2025

Pourquoi se lancer dans une refonte ?

Publié le 01/08/2025

Les bonnes pratiques en SEO

Publié le 01/08/2025

Quelles sont les différences entre un ERP et un CRM ?

Publié le 01/08/2025

Formation professionnelle et reconversion

Publié le 01/08/2025

Pourquoi votre système de base de données est-il si lent ?

Publié le 01/08/2025

Lexique informatique

Publié le 01/08/2025

Du conseil sur vos processus métier

Publié le 01/08/2025

Et si on revisitait son site internet ?

Publié le 01/08/2025

La fin d’Adobe Flash Player, quelles conséquences ?

Publié le 01/08/2025

Les tendances digitales de 2021

Publié le 01/08/2025

Les modules de comptabilité et gestion sur IOvision

Publié le 01/08/2025

Pourquoi opter pour l’infogérance ?

Publié le 01/08/2025

ExpertPlusRH, le SIRH 100 % web qui améliore la qualité de vie au...

Publié le 01/08/2025

Pourquoi migrer d’AngularJS vers Angular ?

Publié le 01/08/2025

Le mode consentement de Google

Publié le 01/08/2025

La signature électronique dématérialise tout type de document sur...

Publié le 01/08/2025

Faciliter le partage d'informations internes avec un intranet...

Publié le 01/08/2025

Comment réussir votre migration vers une nouvelle solution de gestion...

Publié le 01/08/2025

Dématérialisation des flux, étape essentielle de la digitalisation

Publié le 01/08/2025

Quelles sont les caractéristiques des frameworks front-end ?

Publié le 01/08/2025

Préparer l'intégration d'un nouvel ERP

Publié le 01/08/2025

Quand renouveler votre ERP ?

Site réalisé par KEYRIO