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 :

MultiThread Server


Sujet :

Oracle

  1. #1
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut MultiThread Server
    Bonjour,

    Je suis en train d'étudier MTS (en 8.1.7.4) et j'aimerais votre avis pour savoir si j'ai tout bien compris.

    Tout d'abord quelles sont les avantages de MTS dans la doc on parle de gain de ressource. Je comprends bien les avantages au niveau de la mémoire puisqu'il y a moins de process mais existe t il d'autres avantages (CPU,...) ? Si je n'ai pas de problème de mémoire ai je un interet a passer en MTS ? par ailleurs je n'ai rien lu au niveau des inconvénients. Quelles sont ils ?

    A partir de combien d'utilisateurs pensez vous que MTS soit utile ? J'ai lu entre 100 et 150 simultanées. Cela vous semble correcte ?

    J'ai aussi lu quelque chose sur le connection pooling de MTS. Je comprends bien le mécanisme mais je ne vois pas quels sont les avantages supplémentaires par rapport à MTS seul. Vous les connaissez ?

    Merci de votre aide

  2. #2
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Salut,
    je ne répond pas directement à ta question, mais juste un avertissement :
    MTS est passablement buggé en 8.1.7.4...

    alors fait juste attention !

  3. #3
    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
    Comme il y a moins de processus serveur, tu économises aussi du CPU. Je ne sais pas où tu as lu le nombre d'utilisateur, ce n'est pas très faux, mais la question n'est pas seulement de savoir combien mais aussi qui!

    Si tu as 10'000 utilisateurs qui se connectent régulièrement pour quelques minutes et se déconnectent ensuite, un SHARED SERVER sera plus rapide.

    Si tu as déjà un middleware qui crée une centaine de connections permanentes à la base de données, il n'y a sans doute rien à y gagner.

    Le connection pooling, c'est intéressant si tu as beaucoup de connections très inactives, l'utilisateur arrive le matin, se connecte, exécute une requête à 10h et une à 15h, puis se déconnecte le soir. Le connection pooling permet de partager une connection

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut
    Si je peux me permettre, c'est un peu l'équivalent ORACLE des pool de connection JDBC en Java.
    Comme le dit si bien Laurrent, cela dépend de tes utilisations. Je dirais qu'en "mode IHM" cela peut être intéressant et en "mode batch" pas du tout. Mais cela reste général car beaucoup d'applications mélangent les 2.

    @+,
    NicK.

  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
    L'avis de Tom Kyte sur les avantages de MTS/shared servers (http://asktom.oracle.com/pls/ask/f?p...:5269794407347)


    A dedicated server connection consumes an OS process. Each process has its own PGA. Using MTS serves three primary purposes:

    o process reduction, less context switching between OS level processes in the OS itself

    o slight memory reduction, by removing the now redundant PGA allocations

    o maximum active session control -- you'll never have more then N active
    sessions where N = max shared servers. If all 1,232 users hit the "go" button using dedicated server -- the machine would fall over, get swamped. Using MTS, some would just wait a tad longer then others but everything would proceed in an organized manner.
    Dans son livre Oracle Efficient by Design, il conseille d'utiliser MTS uniquement si on est sûr que le mode serveur dédié serait beaucoup trop lent. Idéalement, il faudrait tester.

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 88
    Par défaut
    Juste une question supplémentaire car j'ai un doute sur la marche à suivre :
    Suffit-il de passer le paramètre mts_servers à plus que 0 pour avoir un shared server ?

    @+,
    NicK.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    c'est surtout au niveau de la mémoire que c'est intéressant puisque chaque connexion consomme 15Mo minimum sur le serveur (d'après les chiffres d'Oracle). Donc quand on commence à avoir trop de connection simultanée, le MTS devient intéressant puisqu'il réduit considérablement le nombre de process.

    En revanche, c'est plus compliqué de tracer une session et c'est pas toujours supporté par les applications (Oracle Application notamment). Par ailleurs, comme ça a été signalé, en 8i c'était pas bien maitrisé encore

  8. #8
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut
    Qu'est ce que tu veux dire par :

    Citation Envoyé par Fred_D
    Par ailleurs, comme ça a été signalé, en 8i c'était pas bien maitrisé encore
    Meme dans des versions plus recentes MTS est buggé ?

    Y en a t il parmis vous qui l'on, mis en place. Avez vous rencontré des Bugs ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    j'ai jamais eu de problème sur une 9.2.0.1 mais il n'y avait pas non plus beaucoup de sessions

  10. #10
    Membre éprouvé
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Par défaut
    MTS est mieux connu sous le nom de SHARED SERVER désormais.

    SHARED SERVER est le cousin de DEDICATED SERVER. Ce sont deux modes de fonctionnement différents. En mode DEDICATED SERVER, un process utilisateur (machine cliente) ouvre un process server (sur le serveur). 100 clients donneront donc 100 process sur le serveur. Ces process seront dédiés a leurs connexions respective

    Dans certains cas il arrive que l'acitivté d'un process ne soit pas continue (genre un utilisateur qui fais un select, un update 25 minutes apres ...) C'est la qu'intervient SHARED SERVER. Il permet de partager les connexions a la base de données sur 'n' process. Moins de process a gérer = moins de RAM dédiee.

    Les connexions a partager sous SHARED SERVER sont les connexions qui n'ont pas une activité contiune et réguliere. Celle ci n'ont pas besoin d'un process dédié en permanance.

Discussions similaires

  1. [Socket] Multithreaded Server
    Par cyrill.gremaud dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 10/06/2011, 09h06
  2. Accès multithread sur SQL Server CE
    Par Marco44 dans le forum C#
    Réponses: 1
    Dernier message: 31/08/2010, 11h34
  3. Réponses: 3
    Dernier message: 08/07/2010, 10h35
  4. Serveur MultiThread et Server WEB
    Par Thomas_ats dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 19/11/2008, 09h35
  5. Probleme Client / Server multithread
    Par hakuryu dans le forum C#
    Réponses: 1
    Dernier message: 15/02/2008, 13h11

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