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 :

Mon Buffer cache hit ratio est en dent de scie !


Sujet :

Administration Oracle

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 22
    Par défaut Mon Buffer cache hit ratio est en dent de scie !
    Bonjour tout le monde !
    J'ai un problème avec la performance de ma base de données ( sous Oracle 9i).
    J'ai fait un calcul du hit ratio qui varie en fonction du temps. D'un moment à l'autre ça bascule de 95% à 70%. Or la bonne donnée doit être > 80% .
    Des valeurs de paramètres pour information :

    db_block_size = 8M
    db_cache_size = 464 M

    Pour toute autre information susceptible d'aider pour m'aider je suis en veille .
    Merci

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par PandaConstantin01 Voir le message
    Bonjour tout le monde !
    J'ai un problème avec la performance de ma base de données ( sous Oracle 9i).
    J'ai fait un calcul du hit ratio qui varie en fonction du temps. D'un moment à l'autre ça bascule de 95% à 70%. Or la bonne donnée doit être > 80% .
    Des valeurs de paramètres pour information :

    db_block_size = 8M
    db_cache_size = 464 M

    Pour toute autre information susceptible d'aider pour m'aider je suis en veille .
    Merci
    alors tout d'abord heureusement que ton ratio varie en fonction du temps. Sinon cela voudrait dire qu'il ne se passe vraiment rien sur ta base.

    Rien ne dit qu'un ratio de 70% est mauvais

    Mais c'est vrai qu'un cache de 464M, c'est bien pour gérer ta collection de timbre, non?

    PS: cependant, il est bon d'identifier les commandes sql qui avaient généré plus d'accès disque et de comprendre pourquoi avant d'agrandir le cache.

  3. #3
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    que donne le top 5 des events de la base... t'aurais pas du scattered read à gogo par hasard ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 115
    Par défaut
    Regarde si tu n'aurais pas des select count(*) ou select * dans les top10 et tu auras surement ton explication.

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    et pourquoi donc ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 115
    Par défaut
    Je n'ai pas d'explication, c'est mon expérience qui parle, j'ai remarqué que des select * et select count(*) font des scans de tables complètes, là c'est normal et je suppose qu'Oracle n'utilise pas la même méthode à chaque fois, de plus il monte la table en mémoire, (ou le contenu du select *) et cela hache les Hit des Buffer Cache et Lib cache

  7. #7
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    c'est vrai que si tu fais beaucoup de select * from t sans condition, alors les données seront directement lues sur le disques, car les full-table-scans ne sont généralement pas en cache. Cela ne veut pas encore dire qu'il y a un problème...

  8. #8
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    en effet et c'est pas le SELECT qui pose problème dans ces cas mais le WHERE et les indexes

  9. #9
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Un SELECT * FROM T est peut-être exactement ce que l'utilisateur désire. Si je veux la liste de tous mes clients, alors je fais un SELECT * FROM CLIENT, ce n'est pas un "problème".

    Il faut d'abord identifier la ou les requêtes qui générent beaucoup d'accès disque, et ensuite seulement on peut se poser la question de savoir si c'est bien ou mal


  10. #10
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    oui mais dans ce cas tu peux keeper la table parce qu'il y a des chances que tu sois pas le seul à vouloir le faire

    Et là on parle de régler les "problèmes" de cache, donc si l'appli fait que du FTS y'a pas de solution

    ce que je voulais dire, c'est que c'est pas les SELECT * ou SELECT count(*) qu'il faut chercher mais les FULL SCAN grace à statspack

  11. #11
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par orafrance Voir le message
    Et là on parle de régler les "problèmes" de cache
    Les problèmes de cache ou le cache hit ratio qui fluctue ?

    Peut-être que le ratio descent la nuit lorsque certains gros batch tournent. Ce qui ne veut pas dire qu'il y a un "problème".

    Vouloir tuner la base en fonction des ratios n'est pas ma méthode priviligiée

  12. #12
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    on dit la même chose

Discussions similaires

  1. Hit ratio cache buffer
    Par sellfe dans le forum Administration
    Réponses: 3
    Dernier message: 16/12/2009, 16h37
  2. cache hit ratio
    Par dleho dans le forum Administration
    Réponses: 3
    Dernier message: 17/10/2007, 17h37
  3. Data Buffer Cache Hit Ratio
    Par kameleo10 dans le forum Oracle
    Réponses: 2
    Dernier message: 14/12/2005, 18h14
  4. [Noyau] Accès aux blocks dans le buffer cache
    Par gtaoufik dans le forum Oracle
    Réponses: 12
    Dernier message: 26/08/2005, 14h17
  5. Réponses: 4
    Dernier message: 27/04/2005, 14h21

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