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

Sybase Discussion :

[ SYBASE ] Performance


Sujet :

Sybase

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut [ RESOLU ] [ SYBASE ] Performance
    Bonjour,

    Je fais des tests d'insert par une procedure stockées, sur un octo processeur.
    Mon but étant de visualiser l'apport du nombre de processeur pour la vitesse d'exécution des requetes.
    Ces inserts se font sur une table non partitionnées APL.
    Je simule 40 utilisateurs qui lancent chacun 3000 appels à la procédure.
    J'effectue le test sur un processeur, puis 2, puis 3 etc jusqu'à 8.

    voilà mes résultats :

    1 : 887 requetes/s
    2 : 870
    3 : 1164
    4 : 1187
    5 : 1164
    6 : 1114
    7 : 1065
    8 : 960

    Utilisé 8 processeurs donne de moins bon résultats que 3 et l'accroissement des performances en fonction du nombre de processeur n'est pas énorme.

    Est-ce normal?

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Oui.

    On part generalement du principe de ne pas ajouter d'engine tant qu'elles en passent aps toutes la barre des 80% avec sp_sysmon.
    Il faut avoir en tete que le multiprocessoring genere un gros overhead l'optimiseur, par exemple, va calculer plus de choses avec toutes les options qui s'offrent a lui avec le parallelisme. Donc lorsque ce n'est pas necessaire, l'overhead influence negativement les perfs.

    Il n'y a pas que le CPU qui travaille : il y a aussi la RAM, le reseau, les disques... Au moment ou tu debloque tout au niveau du CPU, tu peux alors deplacer les goulets sur les autres composants. Dans certains cas de bord, ca peut devenir carrement pejorant.

    Ce comportement est l'une des raisons qui a pousse Sybase a permettre l'activation et la desactivation des engines en ligne depuis la version 12.5.0.3. N'oublies pas que le parallelisme est surtout efficace en DSS (gros selects) qu'en OLTP (inserts/updates). Dans ton cas, c'est peut-etre le partitionnement qui pourrait apporter un plus.

    Dans ton exemple (et ta config actuelle, tu peux voir que l'optimum se situe a 4 engines. Mais ton test est-il le mirroir de ta production ?

    Pour la petite histoire, Oracle avait "attaque" en disant que Sybase ASE ne gerait pas le MPP car avec 64 CPUs, les perf etaient moins bonnes qu'eux. Apres analyse, il s'etait avere que sur l'architecture testee, ASE avec 16 engines battaient allegrement Oracle utiisant les 64 processeurs... mais c'est de bonne guerre... et cela demontre une fois de plus que les test TPC, c'est pas toujours parlant en prod...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    En clair, si je ne fais pas que des "gros select" en prod, une machine multi processeurs ne sert à rien !

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Non, c'est l'inverse !

    - Le parallelisme aide aux gros selects (DSS/decisionnel)
    - Le partitionnement limite certains goulet lors de gros inserts (OLTP) et booste le parallelisme (scan parallel degree)
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    C'est ce que je disais !

    Le partitionnement peut vraimens booster les inserts et les updates?
    Quel pourcentage?

    En fin ce que je remarque c'est est-ce que le rapport nb processeur/performance est il vraiment rentable?
    Bref est-ce que cela vaut le coup d'acheter un octo-processeur plutôt qu'un bi-pro où un quadri-pro?

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Comme je l'ai dit, c'est un tout. On ne peux pas etre si categorique en perf & tuning.Il faut voir ou sont les goulets pour les resoudres.

    Parfois, l'octoprocesseur est limite, parfois il est surdimensionne. L'essentiel c'est que ta machine colle a tes besoins.

    Je sais que c'est pas si simple d'obtenir un serveur et on a tendance a gonfler la machine pour les budgets.

    Histoire de voir, affiche-moi un sp_showplan "00:01:00" de ta machine en prod, et je te dirai peut-etre ou ca bloque... et je ferai de la decoupe de ce qui n'est pas interessant pour ne pas bourrer le forum avec 1 post monstrueux...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    tu veux plutôt dire un sp_sysmon "00:01:00", non?

  8. #8
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    C'est pas ce que je disais ?
    Autant pour moi !
    Oui, sp_sysmon avec un temps adapte a ton environnement
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    je te l'envoie par mail où je crée le plus gros post du forum developpez.com ?

  10. #10
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Resume de l'output de ton sp_sysmon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Kernel Utilization
    ------------------
       Engine Busy Utilization 
        Engine 0                       30.3 %                                      
        Engine 1                       32.0 %                                      
        Engine 2                       32.3 %                                      
        Engine 3                       28.5 %                                      
        Engine 4                       27.7 %                                      
        Engine 5                       30.3 %                                      
        Engine 6                       27.2 %                                      
        Engine 7                       28.0 %                                      
      -----------             ---------------          ----------------
      Summary                 Total   236.3 %          Average   29.5 %
    Avec aucun CPU a plus de 80%, on peut dire que les CPUs sont sous-utilises. Si ces valeurs n'augmentent jamais, il serait bon meme de baisser le nombre d'engine pour eviter un overhead.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Task Context Switches Due To:
        Voluntary Yields                  3.2          63.0         189       0.0 %
        Cache Search Misses              37.8         755.0        2265       0.4 %
        System Disk Writes                0.1           2.0           6       0.0 %
        I/O Pacing                        0.0           0.0           0       0.0 %
        Logical Lock Contention           0.0           0.0           0       0.0 %
        Address Lock Contention           0.0           0.0           0       0.0 %
        Latch Contention                  0.0           0.0           0       0.0 %
        Log Semaphore Contention          0.0           0.0           0       0.0 %
        PLC Lock Contention               0.0           0.0           0       0.0 %
        Group Commit Sleeps               0.0           0.0           0       0.0 %
        Last Log Page Writes              0.1           1.0           3       0.0 %
        Modify Conflicts                  0.0           0.0           0       0.0 %
        I/O Device Contention             0.0           0.0           0       0.0 %
        Network Packet Received         372.7        7453.7       22361       3.9 %
        Network Packet Sent            9134.4      182688.0      548064      95.9 %
        Other Causes                    -26.6        -532.7       -1598      -0.3 %
     
     
    Tuning Recommendations for Task Management                                    
      ------------------------------------------                                    
      - Consider tuning your Network I/O sub-system
    Alors la, il y a un gros probleme. D'habitude, on s'inquiete quand on depasse les 25% ! Ton reseau est sans doute mal configure Retourne-moi l'output de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    exec sp_configure network
    go
    select network_pktsz, count(spid) 
    from sysprocesses 
    group by network_pktsz
    go
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Transaction Management
    ----------------------
     
      ULC Flushes to Xact Log         per sec      per xact       count  % of total
      -------------------------  ------------  ------------  ----------  ---------- 
        by Full ULC                       0.0           0.0           0       0.0 %
        by End Transaction                0.0           0.7           2      22.2 %
        by Change of Database             0.0           0.0           0       0.0 %
        by Single Log Record              0.1           1.0           3      33.3 %
        by Other                          0.1           1.3           4      44.4 %
      -------------------------  ------------  ------------  ----------
      Total ULC Flushes                   0.2           3.0           9    
     
    ...
     
    Tuning Recommendations for Transaction Management                             
      -------------------------------------------------                             
      - Consider decreasing the 'user log cache size'
        configuration parameter if it is greater than the
        logical database page size.
     
    ...
     
     
        Tuning Recommendations for Data cache : default data cache
        -------------------------------------                                       
        - Consider using 'relaxed LRU replacement policy' for this cache.
        - Consider adding a large I/O pool for this cache.
    Cree un cache nomme specifique pour les pages de log, en lui attribuant un buffer pool maximum de 4K.
    Cree un cache specifique pour tempdb.
    Supprime le cache de 8K dans le default data cache
    Dans les caches tempdb et default, considere des buffer pools de 80% a 2K et de 20% a 16K. Pas d 8K ni de 4K si les pages de log sont dissociees et liees au log cache avec buffer pool de 4K.
    Verifie la taille du ULC via sp_configure "user log cache". Si tu utilises des pages de 2K, il devrait etre a 2048.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    voilà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Msg 17411, Level 16, State 1:
    Procedure 'sp_configure', Line 195:
    Configuration option is not unique.
     
     Parameter Name                 Default     Memory Used Config Value
    	 Run Value   Unit                 Type       
     ------------------------------ ----------- ----------- ------------
    	 ----------- -------------------- ---------- 
     additional network memory                0           8        8192 
    	        8192 bytes                dynamic    
     default network packet size            512        #312         512 
    	         512 bytes                static     
     max network packet size                512           0        2048 
    	        2048 bytes                static     
     max number network listeners             5         453           5 
    	           5 number               static     
     
    (1 row affected)
    (return status = 1)
     network_pktsz             
     ------------- ----------- 
               512          15 
     
    (1 row affected)

  12. #12
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Si tu travailles avec de l'Ethernet (dont les paquets sont de 1500), essaie l' option suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sp_configure "default network packet", 1024
    go
    ... puis fais en sorte que tes utilisateurs utilisent 1024 comme paquet par defaut (-A1024 pour isql, parametre Performance/Packet Size=2 pour l'ODBC, etc... )
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    oui j'avais bien un problème réseau, avant de recommencer mes tests, pourrais-tu m'eclaircir ce passage?

    Cree un cache nomme specifique pour les pages de log, en lui attribuant un buffer pool maximum de 4K.
    Cree un cache specifique pour tempdb.
    Supprime le cache de 8K dans le default data cache
    Dans les caches tempdb et default, considere des buffer pools de 80% a 2K et de 20% a 16K. Pas d 8K ni de 4K si les pages de log sont dissociees et liees au log cache avec buffer pool de 4K.

  14. #14
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    http://download.sybase.com/pdfdocs/asg1250f/perf1.pdf
    Chapitre 14 (dès page 325)

    Que veux-tu exactement savoir ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  15. #15
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    bon j'ai essayé de faire comme tu m'as dis mais le problème c'est que mon moteur a par défault des pages de 8k et donc je ne peux pas créer des caches de 4k ou 2k. j'ai donc créé le caches comme tu m'as dis mais avec 8k à la place des 4k et 2k.

    les performances n'ont pas vraimens changé...

  16. #16
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Desole. Mes commentaire sur les caches partaient d'un serveur a pages de 2K.

    Pour du 8K, cache dissocie pour tempdb_cache et log_cache
    Log_cache => qu'un buffer pool de 8K
    Pour tempdb_cache et default data cache => un mixte de 8 et 16.

    Vous etes vraiment dans un environement purement decisionnel ? Pourquoi avoir pris la decision du 8K ? et en APL ? J'imagine alors les problemes de verrous...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  17. #17
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Bref,
    je me rends compte que j'ai configuré un moteur pour faire du décisionnel, alors que je fais plutôt du transactionnel avec un petit volume de donnée.

    d'où mes performances un peu décevantes.

    mais bon n'ayant plus beaucoup temps pour mon stage, je m'attaque à la mise en place de l'architecture "cluster" avec repli la semaine prochaine.

  18. #18
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    On peut clore ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  19. #19
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Il me semble bien que c'est la fin de ce sujet!

    merci beaucoup pour ses renseignements qui ont apporté des réponses à mes intérrogations!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sybase ASE, dégradation des performances
    Par ram-0000 dans le forum Adaptive Server Enterprise
    Réponses: 3
    Dernier message: 22/09/2013, 18h14
  2. Mesurer les performances des requêtes Sybase
    Par kenji_getpowered dans le forum Sybase
    Réponses: 0
    Dernier message: 28/09/2011, 17h39
  3. [Sybase 12.5] Performance Table Temporaire dans SP
    Par Organon dans le forum Sybase
    Réponses: 3
    Dernier message: 08/09/2011, 16h23
  4. Réponses: 1
    Dernier message: 04/05/2009, 20h25
  5. [SYBASE ASE 12.5.3] Triggers & performances
    Par lsone dans le forum Sybase
    Réponses: 9
    Dernier message: 11/10/2006, 21h59

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