logo
logo
  • Accueil
  • Conseils & expertises
    • Architecture
    • Datascience
    • Audit de performance
    • Dataviz
    • Databases
    • Intégration de données
  • Formations
  • Références
  • Qui sommes nous ?
  • Blog
  • Carrière
  • Contact

Audit de performance sql server dans un cadre BI

  • icone secteur activite

    Secteur d'activité

    Industrie
  • icone contexte client

    Contexte client

    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.
  • icone enjeux client

    Enjeux client

    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
  • icone contexte technologique

    Contexte technologique

    • 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
  • icone délais

    Délais

    20 jours
  • icone résultat

    Résultat

    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. Toutefois les lacunes de l'infrastructure et le potentiel des nouvelles versions MSSQL ont conduit le client à poursuivre l'audit par une mission d'architecture et de migration.

Dans ce cas d’audit de performance sql server 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 ?
  • le paramétrage des bases ?
  • la configuration 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 de performance sql server classique comme on aime.

    Analyses des performances

    Nous avons appliqués notre méthodologie d’audit, à savoir l’étude préalable des couches basses : hardware, configuration OS et 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 pendant la nuit batch
    Analyse du stress mémoire MSSQL grâce au PLE (Page Life Expextency)
    Analyse de la consommation I/Os disques MSSQL en lecture et en écriture

    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 de l'évolution de la taille d'une base de données grâce à la taille de backups nativement enregistrées dans mssql
    Analyse de la fragmentation des index. Il convient de comprendre d'abord pourquoi un index se fragmente avant de systématiser les defrag. Toutefois lorsqu'il y a des milliers d'index et un manque de temps c'est pourtant un choix souvent salvateur
    Analyse des tailles des databases et des tables

    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

    Optimisations

    Suite à du tuning de tables et de codes on peut observer les premières améliorations:

    Visualisation des premières optimisations

    Finalement, cet audit de performance SQL Server aura permit de déterminer les procédures les plus lourdes. Ainsi une nouvelle stratégie d’alimentation est revisitée grâce au partitionnement des grandes tables et des optimisations systématiques.

    Toutefois les l’audit de performance sql server a montrer de fortes lacunes dans l’infrastructure.
    Le potentiel des nouvelles versions MSSQL et notamment les index en colonnes sont également vu comme des facteurs de progrès importants.
    Ces deux faits ont conduit le client à poursuivre l’audit par une mission d’architecture et de migration.

    • Analyse approfondie des traces systèmes, diagnostic et solution suite à une étude de consolidation databases
    • Audit de performance sur des flux ETL SAP BODS sur MS SQL Server

    EXPERTISES

    • Architecture IT
    • Audit de performance IT
    • Datascience & IA
    • Dataviz
    • Intégration de données
    • Databases
    • FORMATIONS
    • ETUDES DE CAS
    • QUI SOMMES NOUS ?
    • BLOG
    • CARRIERE
    • CONTACT

    Suivez-nous

    • @2performance
    • @2performance
    • aetperf.github.io

    @ARCHITECTURE & PERFORMANCE     Mentions légales

    Crée par