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

Administration Oracle Discussion :

Hit ratio cache buffer


Sujet :

Administration Oracle

  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 47
    Par défaut Hit ratio cache buffer
    Bonjour,

    J'utilise la requête suivante pour avoir le ratio de données trouvées en mémoire au profit de celles trouvées sur disque.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ttitle center 'Calcul du Cache Hit Ratio' skip 2
    
    SELECT (V2.Value + V1.Value) As "Blocs lus mémoires", V3.Value AS "Blocs lus disques", (1-(V3.value / (V1.value + V2.value))) * 100 AS "Buffer cache"
    FROM   v$sysstat V1, v$sysstat V2, v$sysstat V3
    WHERE  V1.name = 'db block gets'
    AND    V2.name = 'consistent gets'
    AND    V3.name = 'physical reads';
    Résultat

    Calcul du Cache Hit Ratio

    Blocs lus mémoires Blocs lus disques Buffer cache
    ------------------ ----------------- ------------
    279951272 22726306 91,8820494

    Je suis un peu étonné des bons résultats sur une base de 700 Go avec un cache de 385 Mo. Valeurs toujours supérieures à 90 même au démarrage de l'instance (script auto toutes les 30 minutes en ce moment pour étudier le bon dimensionnement du buffer cache)
    Savez vous comment interpréter les valeurs 'db block gets', 'consistent gets'
    'physical reads' ? sont-elles rafraichies régulièrement ?
    Merci de vos retours sur le sujet

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

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Attention, un bon buffer cache hit ratio, c'est signe:
    - soit d'une bonne utilisation du buffer cache
    - soit de mauvaise requêtes SQL qui vont lire de nombreuses fois toujours les mêmes données

    Donc finalement pas très utile...

    On peut regarder plutôt l'utilisation de la CPU et les wait events i/o

  3. #3
    Membre émérite Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Par défaut
    Citation Envoyé par pachot Voir le message
    Attention, un bon buffer cache hit ratio, c'est signe:
    - soit d'une bonne utilisation du buffer cache
    - soit de mauvaise requêtes SQL qui vont lire de nombreuses fois toujours les mêmes données

    Donc finalement pas très utile...

    On peut regarder plutôt l'utilisation de la CPU et les wait events i/o
    Oui, regarde surtout buffer_busy_waits.

    Tu peux considérer que si il est important et que dans le même temps les waits au niveau de db_file_sequential_read et db_file_scattered_read ne sont pas importants, alors tu manque de blocks en cache.
    Si ils sont importants, alors tes requêtes fonds trop d'IO et il faut optimiser le code SQL.

    Jko

  4. #4
    Membre éprouvé Avatar de laurentleturgez
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 88
    Par défaut
    Si tu veux savoir si ton cache de données a la bonne taille, je te conseillerai plutôt d'aller voir du côté des fonctions de conseils. Donc pour le cache de tampon : veiller à ce que le paramètre DB_CACHE_ADVICE est à ON.

    Ensuite, tu attends d'avoir une activité suffisante de ton instance (ne fais pas l'analyse au bout d'une heure !), tu interroges la vue V$DB_CACHE_ADVICE, récupères les valeurs des colonnes SIZE_FOR_ESTIMATE et ESTD_PHYSICAL_READS, tu fais un joli graphique avec Excel et tu détermines la valeur idéale de ton cache située après le point d'inflexion de ta courbe.

    Le Cache hit ratio dépend de l'utilisation de ta base (en OLTP, on fera attention à ce cache hit qui devra avoir des valeurs > 90-95%. Sur un datawarehouse, avoir un cache hit ratio de 70-75% n'est pas déconnant !)

    Ensuite, tu peux toujours aller voir coté attentes. Mais les Buffer busy waits (BBW) ne sont pas spécifique d'un cache trop petit (tu peux avoir des BBW dans un contexte de hot block par exemple).

    Laurent

Discussions similaires

  1. Requête Hit ratios et shared pool
    Par bibi92 dans le forum SQL
    Réponses: 6
    Dernier message: 10/09/2008, 14h04
  2. cache hit ratio
    Par dleho dans le forum Administration
    Réponses: 3
    Dernier message: 17/10/2007, 17h37
  3. Mon Buffer cache hit ratio est en dent de scie !
    Par PandaConstantin01 dans le forum Administration
    Réponses: 11
    Dernier message: 20/09/2007, 10h31
  4. Hit ratio et consistents-gets !
    Par genio dans le forum Oracle
    Réponses: 13
    Dernier message: 16/03/2006, 12h09
  5. Data Buffer Cache Hit Ratio
    Par kameleo10 dans le forum Oracle
    Réponses: 2
    Dernier message: 14/12/2005, 18h14

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