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 5.2][9.2.0.4] Performance


Sujet :

Oracle

  1. #1
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut [AIX 5.2][9.2.0.4] Performance
    Bonjour,

    J'ai un serveur AIX 5.2 où tourne plusieurs bases 9.2.0.4. Parfois, des grosses requêtes BO écroulent le serveur (CPU à 100%) au détriment des petites transactions OLTP.

    Volà ma question :

    C'est curieux comme fonctionnement pour un OS multitâche. Il devrait répartir les ressources processeurs. Avez-vous le même fonctionnement ? Existe-t-il un paramètre ou AIX ou ORACLE ?

    Sur un autre serveur HP, l'OLTP n'est jamais bloqué comme sur AIX !

    Merci pour votre aide,

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Normalement on distingue OLTP et batch notamment sur BO

    N'est ce pas nuke_y ?

  3. #3
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Il y'a combien de CPU dans ton serveur ?

  4. #4
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    c'est un bi-processeur 64 bit avec 6 GB de RAM. les disques sont sur une baie SAN.

    Je sais ! on ne devrait pas faire du BO sur du OLTP !!! on est quelques fois dépassé par les evenements !

  5. #5
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Il y'a la paramètre caché Normalement dans ton cas il est à 2 pour tous les bases
    Essaye de le mettre à 1 dans les bases OLTP et à 2 dans la base BO.
    Sinon il faut optimiser tes requêtes.

  6. #6
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    cpu_count est bien à 2 pour toutes les bases.

    tu as des AIX ? As-tu le même type de fonctionnement ?

  7. #7
    Expert éminent sénior
    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
    Points : 19 075
    Points
    19 075
    Par défaut
    j'imagine que les requêtes BO sont plus complexes et font du parsing consommateur. Quelle est la valeur du paramètre cursor_sharing

  8. #8
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Non, j'ai des ALPHA et du HP.
    Dans la version 9i oracle calcule automatiquement le nombre de CPU dans la machine et il le fixe dans le paramètre caché _cpu_count.
    J'avais le même problème quand il y'a du BO, alors j'ai optimisé les requêtes.

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par bouyao
    Non, j'ai des ALPHA et du HP.
    Dans la version 9i oracle calcule automatiquement le nombre de CPU dans la machine et il le fixe dans le paramètre caché _cpu_count.
    J'avais le même problème quand il y'a du BO, alors j'ai optimisé les requêtes.
    est ce qu'il aller au dessus du paramétres CPU_COUNT ???

  10. #10
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par Fred_D
    j'imagine que les requêtes BO sont plus complexes et font du parsing consommateur. Quelle est la valeur du paramètre cursor_sharing
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> show parameters cursor_sharing
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    cursor_sharing                       string      EXACT
    sur toutes les bases

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    il faudrait essayer avec similare

  12. #12
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Citation Envoyé par Jaouad
    est ce qu'il aller au dessus du paramétres CPU_COUNT ???
    Non, Surtout pas.
    Comme j'ai dit, il faut qu'il diminue à 1 dans les bases OLTP et il laisse à 2 dans la base BO.

    Pour moi, je lancerai un STATSPACK pour voir les requêtes consomatrice et je les réglerais après.

  13. #13
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    tu peux m'en dire plus sur ce paramètre ? (cursor_sharing)

  14. #14
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par bouyao
    Citation Envoyé par Jaouad
    est ce qu'il aller au dessus du paramétres CPU_COUNT ???
    Non, Surtout pas.
    Comme j'ai dit, il faut qu'il diminue à 1 dans les bases OLTP et il laisse à 2 dans la base BO.

    Pour moi, je lancerai un STATSPACK pour voir les requêtes consomatrice et je les réglerais après.
    Pourquoi limiter à 1 les bases OLTP ?

    Doc ORACLE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caution: 
    On most platforms, Oracle automatically sets the value of CPU_COUNT to the number of CPUs available to your Oracle instance. Do not change the value of CPU_COUNT

  15. #15
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Je pourrais aussi utiliser les profiles pour limiter la CPU sur les requêtes BO !

    Qu'en pensez-vous ?

  16. #16
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Citation Envoyé par PhPeltier
    Doc ORACLE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caution: 
    On most platforms, Oracle automatically sets the value of CPU_COUNT to the number of CPUs available to your Oracle instance. Do not change the value of CPU_COUNT
    C'est quand il y'a une seule base.

    Par contre, quand j'ai plusieurs bases sur la même machine je n'hesietrai pas à donner plus de CPU au bases critiques et moin de CPU au bases non critiques.

    Pour moi, Una base OLTP est constitué de petites transactions qui demande moins de CPU.

    Dans tous les cas ce ne resoud pas ton problème, le fait de modifier ce paramètretu gagnera pas beaucoup en performance.

    Les solutions :
    1. optimise tes requêtes
    ou
    2. installer la base BO dans un autre serveur.

  17. #17
    Expert éminent sénior
    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
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par PhPeltier
    tu peux m'en dire plus sur ce paramètre ? (cursor_sharing)
    il permet de définir le degré de ressemblance des curseurs pour réutiliser les plans d'exécutions... ça évite de parser trop souvent si les requêtes se ressemblent. Attention, ça a un impact non négligeable sur l'ensemble de la base

  18. #18
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Citation Envoyé par PhPeltier
    Je pourrais aussi utiliser les profiles pour limiter la CPU sur les requêtes BO !

    Qu'en pensez-vous ?
    Vous ne m'avez pas dit ce que vous en pensiez ?

  19. #19
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Voila ce que personnelement et de part ma petite expérience j'en penses.

    Il te faut tout d'abord déterminer ce qui ralentit de maniére globale tes requêtes en Batch , cela peut se faire ne tracant les waits events ( ce qui doit être un reflexe ) ou alors d'effectuer un statspack pour voir le top 5.

    Cependant et c'est la que je rejoindrait Bouyao, en régle génèrale les plus gros gain se font en optimisant les requêtes SQL.

    Sous Ps , nous avons réussi a optimiser un batch de reporting ( contrôle analytique ) faisant passer son temps de traitements de 3 heures à 5 min uniquement par le tuning SQL ( ce batch est lancé 5 fois par jour )

    Mais attention il n'existe pas de régles absolus

    En tout cas Bon courage
    Jaouad

  20. #20
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Citation Envoyé par PhPeltier
    Citation Envoyé par PhPeltier
    Je pourrais aussi utiliser les profiles pour limiter la CPU sur les requêtes BO !

    Qu'en pensez-vous ?
    Vous ne m'avez pas dit ce que vous en pensiez ?
    Vraiment je ne sais pas comment limiter le CPU sur les requêtes BO.

Discussions similaires

  1. Faites vos tests de performance avec nmon sous Aix
    Par Katyucha dans le forum Contribuez
    Réponses: 1
    Dernier message: 27/03/2007, 17h17
  2. [maintenance][performance] Que faire comme maintenance ?
    Par woodwai dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 06/11/2003, 15h39
  3. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18
  4. [JDBC][connexion persistante] performances avec JDBC
    Par nawac dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 06/05/2003, 10h37
  5. performance entre 3DS, ase, asc ...
    Par amaury pouly dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/03/2003, 11h41

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