IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

AIX 6 : AUTO DOP / Calibration des stats IO [11gR2]


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 52
    Points
    52
    Par défaut AIX 6 : AUTO DOP / Calibration des stats IO
    Bonjour ,

    Afin de calculer les stats IO en 11gR2 (vue resource_io_calibrate$) , j'ai besoin d'exécuter la procédure suivante :
    DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);

    Ma question est :

    - Comment trouver le nombre de disques physique de ma base 11gR2 sous AIX 6 ? (<DISKS>)
    - Quelle valeur attribuer à <MAX_LATENCY> ?
    Le but final est de profiter de l'auto DOP avec limitation au niveau du degré de parallélisation via le paramètre PARALLEL_DEGREE_LIMIT

    Thanks.

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    - Comment trouver le nombre de disques physique de ma base 11gR2 sous AIX 6 ? (<DISKS>)
    C'est le nombre de disques physiques qu'il y a derrière. AIX ne voir probablement que des LUN. Il faut demander à l'equipe storage.

    - Quelle valeur attribuer à <MAX_LATENCY> ?
    D'après la définition, la latence maximum acceptable. Mais je n'ai vu aucune doc très claire. Voici la manière dont le le comprend:
    CALIBRATE_IO va charger le système en i/o pour en voir la limite. En surchargeant le système, on peut maximiser le débit (MBPS et IOPS), mais au prix d'un engorgement des files d'attentes et donc d'une latence inacceptable. Et c'est justement ce qu'on veut éviter avec PARALLEL_DEGREE_LIMIT=IO. On veut avoir le débit maximum sans saturer les files d'attentes. Donc c'est à nous de déterminer la latence maximum qu'on accepte.

    Si on a des disques 7500 RPM, la latence maximum qu'on espère lorsque les files d'attentes sont vides est de: 60/7500=8ms (un tour de disque). Donc si on est exigeant sur la latence (par exemple parce qu'on a de l'OLTP qui tourne en même temps), on peut mettre max_latency=10 par exemple. Si on ne s'interesse qu'à la rapidité des full scan en parallel query, on peut peut-être accepter une latence plus grande puisque de toute façon on fait des i/o asynchrones.

    C'est approximatif de toute façon, j'avais fait quelques test en faisant varier ces paramètres, le résultat MBPS et IOPS reste stable. Il est important de comparer les résultat avec les specs. du storage aussi.

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    J'ai recherché des informations relatives à ces paramètres de CALIBRATE_IO et comme je n'ai rien trouvé de bien clair, je rajoute une petite analogie pour mieux comprendre.

    Imaginons un cabinet médical avec 3 médecins et chacun sa salle d'attente.
    Un consultation dure en moyenne 15 minute, mais c'est variable: en général entre 10 et 20 minutes. Quelquefois jusqu'à 30 minutes.

    Si les medecins prennent des rendez-vous toutes les 30 minutes, en principe il n'y aura pas trop de retard et de monde dans la salle d'attente. Mais par contre, sur un journée de 8 heure le cabinet ne fera que 3x16 clients. C'est optimal pour les patients (pas d'attente) mais pas pour les medecins.

    Alors les médecins peuvent prendre des rendez-vous toutes les 15 minutes. Ils doublent leur rentabilité (3x32 patients par jour) au prix d'une attente plus longue pour les clients.
    Mais il y a encore quelques fois où un médecin se retrouve sans rien faire, par exemple si plsuieurs consultations de suite ne durent que 10 minutes. Ils peuvent augmenter encore le débit en prenant des rendez-vous toutes les 10 minutes, mais là l'attente en salle d'attente peut devenir inacceptable.
    Les medecins considèrent qu'ils ne peuvent pas faire attendre plus de 45 minutes et adaptent la frequence de rendez-vous pour maximiser le débit sans dépasser cette limite.
    Ils en arrivent à la conclusion que toutes les 15 minutes, c'est bien, que l'attente est en moyenne de 30 minutes, et au plus 45 minutes.

    Dans CALIBRATE_IO, num_physical_disks c'est le nombre de médecins (3 ici), et max_latency c'est les 45 minute acceptables au maximum.
    Dans le résultat, actual_latency, c'est les 30minutes d'attente en moyenne, max_iops c'est le nombre de patients vus par jours, et max_mbps ... peut-être le kilo de patient... mais là s elimite l'analogie !

    En espérant que ça explique mieux ces paramètres d'entrée pour la calibration.
    Cordialement,
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 52
    Points
    52
    Par défaut
    Bonjour Franck ,

    Non seulement vous êtes un grand Expert Oracle mais aussi un excellent pédagogue...bravo !
    Je vais donc demander à l’administrateur système de me communiquer :
    - Le Nombre de disques physiques du serveur AIX hébergeant la base.
    - Le RPM(Nbre de tours par minutes) de ces disques (je suppose identique) afin de déduire la latence=60/RPM*1000 ms , au pire j’utiliserais la valeur à 10ms pour le calibrage_IO ?

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Requête/SQL] réaliser des stats par semaine
    Par nikobell dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 04/05/2007, 15h01
  2. Faire des stats sur un fichiers
    Par Krispy dans le forum Langage
    Réponses: 1
    Dernier message: 27/06/2006, 16h13
  3. Export / Import des stats
    Par 79Charles dans le forum Oracle
    Réponses: 6
    Dernier message: 17/01/2006, 11h22
  4. Calcul des stats sur SYS et SYSTEM
    Par orafrance dans le forum Oracle
    Réponses: 8
    Dernier message: 05/10/2005, 16h25
  5. Le calcul des stats dégrade les performances
    Par jo007 dans le forum Oracle
    Réponses: 18
    Dernier message: 15/02/2005, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo