fiche référence client

Des cas réels de problématiques traitées pendant les audits de performance ou les missions d'architecture et d'expertise

Contexte
Project décisionnel
Technologies
  • SGBD : MS SQL Server 2008 R2 EE
  • ETL : SAP BODS, jobs SQL Server et procédures stockées
  • Sources : SAP ECC, Fichiers plats
  • Reporting : SAP BO On Premise

Contexte

Les alimentations quotidiennes prennent la nuit entière et débordent sur la mâtinée en bloquant le reporting des utilisateurs. Certaines alimentations hebdomadaires en mode complet durent plus de 15 heures. Malgré une première campagne de performance ayant apporté des améliorations beaucoup trop de traitements d'alimentation restent longs

Les utilisateurs se plaignent de ne pas pouvoir avoir accès à leur reporting dans les temps. Ce phénomène est accentué en période de clôture période pendant laquelle les chiffres sont attendus avec impatience. La crédibilité du projet et des équipes IT est remise en cause

Objectif

Auditer les interfaces de chargement pour déterminer les principales causes des lenteurs de chargement et proposer des solutions pour améliorer à la fois le chargement mais aussi les restitutions

Dans ce cas d'audit, les équipes utilisent un mixe de jobs SAP BODS, de jobs sql server et surtout des procédures stockées pour alimenter les données. Quels sont les principaux freins à la performance des alimentations ETL dans leur cas : le hardware, la configuration de l'instance, des bases, de l'OS ? Lorsque l'on descend dans le code, quelles sont les traitements qui sont lourds et comment est-il possible de les améliorer Bref un audit classique comme on aime. Nous avons appliqués notre méthodologie d'audit, à savoir l'étude préalable des couches basses : hardware, OS configuration database aux travers des traces perfmon

Les diagrammes suivants illustrent cette partie de l'étude : consommation cpu, stress mémoire, consommation I/Os disques :

  Analyse de la consomation CPU MSSQL  

  Analyse du stress mémoire MSSQL     Analyse de la consommation I/Os disques MSSQL  

Il est ensuite intéressant de se pencher sur les attentes constatées par la base de données :

  Attentes de l'instance MSSQL     Retrait des attentes de type Locks  

Il est également important d'étudier le volume des données, au moment de l'audit et d'avoir une idée de la croissance de ce volume. L'étude de la fragmentation des index est également au programme :

  Analyse des tailles des databases et des tables  

  Analyse de l'évolution de la taille d'une base de données     Analyse de la fragmentation des index  

Pour finir la partie analyse, ce sont les requêtes qui sont étudiées, d'abords analysées de manière brute via des indicateurs de performances, une étape de classement manuelle s'avère ici nécessaire afin d'y voir plus clair :

  Analyse des indicateurs de performances des requêtes SQL  

  Classification des requêtes/procédures SQL par typologie métier     Visualisation des premières optimisations  

 Cet audit aura permit de déterminer les procédures les plus lourdes et une stratégie d'alimentation revisitée grâce au partitionnement des grandes tables.

 

Résultats

Après une formation spécialisée sur le tuning SQL, les équipes internes ont réduit les temps d'alimentation de 50% en utilisant les préconisations de l'audit, les techniques liées au partitionnement sql server et leur nouvelles compétences acquises en formation