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 :

est ce que trop connexions deteriorent les perfs


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 49
    Par défaut est ce que trop connexions deteriorent les perfs
    Je souhaiterai savoir si un nombre de connexion/déconnexion trop important par jour peuvent détériorer les perfs sur la base. On a une appli qui effectue plus de 50000 connexions/déconnexions par jour. Est ce qu'une connexion prend de la place mémoire. Dans quelle plage mémoire se trouve t'elle(PGA, SGA,...)?

    Dans une application, vaut'il mieux avoir une connexion persistante par utilisateurs ou une connexion qui ne dure que le temps de la transaction.

    Merci

  2. #2
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Oui, trop de connections c'est pas bon, puisque, par définition, c'est trop !

    Plus sérieusement, les connections concurrentes utilisent de la PGA.
    Une connection est relativement longue, mais cela pénalise surtout le client, pas le serveur.

    Et il faut surtout savoir combien il y a de connections simultanées !

    [edit]
    Par contre, quand à la question est-ce qu'il vaut mieux une connection par session utilisateur ou par transaction démarrée, c'est clair que si vous avez 3000 utilisateurs concurrents, la session va "couter cher" en mode serveur dédié.
    Donc, vous devez répondre aux questions suivantes :
    1. Combien d'utilisateurs en tout
    2. Combien d'utilisateurs en simultané (moyenne)
    3. Type de session (est-ce que la session passe 90% de son temps à ne rien faire ou est-ce que la session est quasiment tout le temps active)


    [/edit]

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Par défaut
    Trop de déconnexions dégradent les perfs, car cela oblige une activité plus grande de PMON.
    beaucoups de connexions dégradent les performances aussi, mais le degre de cette dégradation dépend de la configuration de votre base de données (dedicated servers ou MTS ).

  4. #4
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Je ne serais pas aussi catégorique.

    Bien sûr qu'une connection/déconnection a un impact sur la charge du serveur, mais cela n'est tout de même pas très couteux, voir même négligeable.
    Si vos perfs s'écroulent parce qu'un client passe son temps à se connecter/déconnecter, c'est que le serveur.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Intéressant de voir que le Oracle® Database Performance Tuning Guide 10g Release 2 (10.2) mentionne comme la première (!) erreur trouvée dans les applications Oracle:

    #

    1. Bad Connection Management

    The application connects and disconnects for each database interaction. This problem is common with stateless middleware in application servers. It has over two orders of magnitude impact on performance, and is totally unscalable.
    Mais quelle application se connecte/déconnecte à chaque requête Oracle ???

    Le top 10 complet: http://download-uk.oracle.com/docs/c....htm#sthref229

    Dans une application, vaut'il mieux avoir une connexion persistante par utilisateurs ou une connexion qui ne dure que le temps de la transaction.
    Plutôt une connexion persistante.

  6. #6
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Citation Envoyé par pifor
    Plutôt une connexion persistante.
    Dans une application, vaut'il mieux avoir une connexion persistante par utilisateurs ou une connexion qui ne dure que le temps de la transaction.
    Attention en server dédié dans ce cas !!!
    il ne faut donc pas tirer de conclusions hâtives et bien connaitre le nombre de connections, de connections actives et de transactions attendues ...

  7. #7
    Membre averti
    Inscrit en
    Novembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 49
    Par défaut
    En réponse à LeoAnderson
    1. Combien d'utilisateurs en tout
    >> on doit avoir 120 utilisateurs distinct en moyenne
    >> qui utilise environ 250 connexion suivant le nombre d'application qu'ils chargent

    2. Combien d'utilisateurs en simultané (moyenne)
    >> en simultané, cela signifie status='active' dans v$session. Si c'est ça, on a en général pas plus de 5 utilisateurs en même temps qui exécutent des requêtes. Mais comme c'est surtout du transactionnel, on ne peut quantifier.

    3. Type de session (est-ce que la session passe 90% de son temps à ne rien faire ou est-ce que la session est quasiment tout le temps active)
    >> 90% à ne rien faire.

    Sinon, j'ai un autre question du même ordre:
    nous fonctionnions en dedicated server puis lorsque nous sommes passés de HP à IBM (sous Linux), on a rencontré pas mal de soucis de perf (swap essentiellement lors des montées en charge). Du coup, on est passé en MTS afin de générer des pools de connexion. Le Soucis est que lors de grosses requêtes importantes pour la production et qui doivent se lancer en cours de journée, le MTS n'est pas adapté car le risque est que les "petites requêtes" soient en attente derrière les "grosses requête".

    Quand aux connexions, les développeurs ont prévu de suivre le schéma suivant:
    création de la requête -> connexion -> exécution -> retour des données->déconnexion

    Est ce que la seule solution de créer un pool de connexin sous Oracle est le MTS car j'ai lu un article comme quoi le MTS était obsolète. Qu'en pensez-vous.
    Le lien: http://www.dba-oracle.com/t_mts_mult...ers_shared.htm

    (Nous sommes en oracle 9.2.0.6)

Discussions similaires

  1. est ce que je peux supprimer les tables VDK et EUL
    Par lamiss1234 dans le forum Administration
    Réponses: 6
    Dernier message: 25/03/2010, 23h11
  2. Réponses: 1
    Dernier message: 29/07/2008, 22h24
  3. [CIF] Est-ce que l'on conserve les droits habituels
    Par hegros dans le forum Droit du travail
    Réponses: 14
    Dernier message: 28/01/2008, 18h24
  4. Est-ce que je peux utiliser les mêmes variables pour javascript et PHP?
    Par sparil dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/07/2007, 13h23
  5. [GRASP] Est-ce que j'utilise correctement les design pattern?
    Par Tourix dans le forum Design Patterns
    Réponses: 7
    Dernier message: 21/06/2006, 18h27

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