mardi, octobre 19, 2010

Découverte : RAT - Database Replay

Database Replay permet de faire des tests d’une manière réaliste en recréant l’environnement de production dans le système de test.
Cela est obtenu par la capture d’une charge de travail sur le système de production, puis par rediffusion sur le système de test avec les mêmes contraintes de concurrence et les mêmes caractéristiques des transactions.
Cela rend possible la connaissance complète de l’impact des changements, y compris les effets indésirables.

Database Replay fournit une analyse approfondie, ainsi que des rapports pour aider à identifier les problèmes potentiels, telles que des nouvelles erreurs et les divergences de performance.

Tester dans des conditions de charge réelles permet d’éliminer la création de plans de tests, réduisant ainsi les coûts inhérents aux changements. Grâce à Oracle Application Testing, la tâche d’analyse et de création de scenarios de tests disparaît et par conséquent l’évaluation d’impacts avant mise en production peut être réalisée en quelques jours seulement.

Avec Database Replay, la capture de la charge de production est accomplie au niveau du serveur de base de données. En conséquence, Database Replay peut être utilisé pour évaluer l’impact de toutes les modifications apportées au système telles que:
  • la mise à jour de la base de données (patchs, paramétrage, changements du schéma, etc.).
  • les changements de configuration (comme la conversion d’une seule instance en RAC, ASM, etc.).
  • les changements sur la couche de stockage, du réseau, de l’interconnexion
  • les changements au niveau du système d’exploitation ou des migrations du matériel (par exemple : migration SPARC vers Itanium).
  • ...

L’utilisation de Database Replay peut être divisée dans 4 étapes principales :

  1. La capture du travail
    Lorsque la capture est activée, toutes les demandes des clients externes vers la base de données Oracle, sont enregistrées dans des fichiers binaires. Ces fichiers contiennent toutes les informations nécessaires à une future rediffusion, tel que texte SQL, SCN, etc.
    Le processus de capture est optimisé afin d'assurer un impact minimal sur le système surveillé.
    La charge peut être capturée sur des bases de données Oracle 9i, 10g et 11g.
  2. Le traitement de la charge de production
    Une fois la charge de production capturée, l’information contenue dans les fichiers de capture est traitée (de préférence sur un système de test). Ce traitement transforme les données capturées et crée les métadonnées nécessaires à la rediffusion de la charge de production.
  3. La rediffusion de la charge de travail
    Un programme client, appelé « replay client », rediffuse la capture de travail depuis les fichiers traités. Il fait des appels à la base de données, en utilisant exactement la même synchronisation et la même concurrence que dans le système source, générant sur le système de test la même charge que celle enregistrée sur le système de production. Cela permet d'identifier tous les problèmes liés aux changements et de les corriger dans l'environnement de test avant leur mise en production.
  4. Analyse et rapport
    L'outil met à disposition des rapports complets permettant l'analyse détaillée de la capture et la rediffusion. Les divergences de données, d’erreur et de performance sont signalées