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 SQL Server Discussion :

Performance SQL 2k


Sujet :

Administration SQL Server

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut Performance SQL 2k
    Bonjour,
    J'ai un probleme de perf sur mon SQL2K il est tres lent. J'ai réinstallé un autres serveur SQL2K, j'ai créer dessus les meme base et injecté les DATA. Celui ci est bcp plus rapide que l'ancien comment faire pour rendre a mon ancien serveur toute ces facultées ? Comparasion de conf ?

    SQL2k0 SP3 sous windows 2k3 SP

    Cordialement

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2008
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 758
    Par défaut
    Pour chaque environnement:

    - Modèle de machine
    - Nb CPU
    - Mémoire
    - Disques

    Compteurs de perfs:
    \Memory\Available MBytes
    \Processor\Processor Time %

    Paramètres de SQL Server:
    - max server memory

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Les deux machines sont sous vmware :


    La premiere ( qui est pas assé rapide )
    4 cpu
    4Go
    4 disque mais tout est sur la meme baie
    Windows 2k3 & sql2k sp3

    La seconde
    2 cpu
    2Go
    2 disques sur la meme baie que l'autre serveur
    Windows 2k3 sp2 & sql2k sp4

    La seconde est beaucoup plus rapide que la premier et c'est bien ca le probleme

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Déjà, le fait que la seconde machine soit sous un OS SP2 alors que l'autre est en RTM, ça change au niveau du support matériel : les SP sont souvent accompagnés d'optimisations au niveau du support matériel (entre autres) mais aussi de corrections qui comportent des optimisations.

    Idem pour le SP de SQL Server : le SP4 peut parfaitement apporter des évolutions en termes de performances et d'exploitation du matériel par rapport au SP3.

    Tu devrais comparer avec les mêmes versions.

    Ensuite, des pistes :
    - Rechercher les process qui tourne sur le vieux serveur et les comparer avec le nouveau : logiciel tiers qui met le bordel ?
    - Vérifier la version des VM : l'ancienne VM est peut-être dans une vieille version, ça peut affecter les performances.
    - Vérifier la fragmentation sur le serveur hôte : peut-être que les fichiers de la vieille VM sont fragmentés, et pas ceux de la nouvelle.
    - Vérifier la fragmentation des disques sur la vieille VM : si c'est une base qui a beaucoup vécu, les fichiers de data en croissance automatique peuvent grandement se fragmenter.
    - Vérifier les index : lors de la restauration, je ne serais pas étonné que SQL Server le recrée les index sur la nouvelle config, mais que sur l'ancienne tout soit en bordel dans les index.

    Et... Les deux VM sont sur la même machine physique ou pas ?

    => Parceque si c'est pas la même machine, il y a peut-être une différence de matériel/logiciel/charge entre les deux machines hôtes non ?

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Ok les deux machines sont sur le meme serveur vmware et en meme version.
    Je craind de mettre a jour et que plus rien ne fonctionne.

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Je ne comprend pas de quelle fragmentation tu parle !!!!!

  7. #7
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par k2011 Voir le message
    Je ne comprend pas de quelle fragmentation tu parle !!!!!
    Dans une VM, il y a deux niveaux de fragmentation :
    1/ Les fichiers physiques du disque dur hôte (surtout si les VM utilisent des disques virtuels) : qu'ils soient dans une baie ou non, ils se fragmentent. Il faut veiller à ce qu'ils le soient le moins possible.
    2/ Dans la VM, les bases de données sont scindées en X fichiers. Ces fichiers sont amenés à grossir : ils se fragmentent donc obligatoirement, surtout si ces fichiers grossissement petit à petit : il faut donc veiller à ce qu'ils soient le moins possible fragmentés, que ta machine utilise des disques virtuel ou physiques.

    Il y a donc deux defrag à faire :
    1/ Une sur le seveur hôte (si possible, il faut couper toutes les VM avant, histoire de pouvoir défragmenter les fichiers des VM)
    2/ Sur chaque VM, en coupant au préalable si possible les services (notamment SQL Server)

    Avec SQL Server, il y a aussi un troisième niveau de fragmentation : celui des index (et des données dans les tables). A nouveau, dans SQL Server, il y a des outils pour recalculer les index et éventuellement réorganiser les données dans le fichier de données.

  8. #8
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Défragmenter à l'intérieur des VM, les disques utilisés par SQL Server ??
    Cela revient au fait de le faire également si tu n'es pas dans une VM ?

    Je pensais que le moteur de MS SQL Server était un grand garçon et, à partir du moment où les tailles des fichiers sont correctement paramétrées, il se débrouillais pour placer correctement ses fichiers aux bons endroits du disque (à l'extérieur). Et que du coup, il était même déconseillé d'appliquer des défrag classiques de fichiers là où sont positionnés les fichiers de données du moteur.

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Ok je comprend.
    La baie vien d'etre installée il y a 2 mois et avant le serveur etait 100% physique , il a donc été virtualisé.

  10. #10
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Je viens de lancer DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES sur mes deux server pour esperer voir quelque chose de flagrant et là c'est le drame; car d'un coté le temps d'execussion est de 4 min et de l'autre je suis à 10 min et ca tourne toujours.
    Ca promet !!!!!!!!!

  11. #11
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Tout d'abord tu parles de lenteur ... donc à quel niveau ? Est ce que tu peux nous en dire plus ?

    --> Est ce un problème de ressources ? (CPU, disques, RAM). Voyez ce que dbaffaleuf vous demande en terme de métrique dans un post plus haut.

    --> Est ce un problème de configuration applicative ? N'avez vous pas un antivirus qui serait à l'origine de vos lenteurs ?

    Est ce un problème de configuration des machines virtuelles ? Avec les machines virtuelles il est facile d'avoir des problèmes de performances si les ressources ne sont pas correctement alloués côté ESX ... Est ce que les ressources sont dédiés à SQL Server ou sont elles partagés avec d'autres hôtes virtuels ? Est ce que les datastores sont dédiés à SQL Server ou sont ils partagés avec d'autres hôtes ?


    Dans une VM, il y a deux niveaux de fragmentation :
    1/ Les fichiers physiques du disque dur hôte (surtout si les VM utilisent des disques virtuels) : qu'ils soient dans une baie ou non, ils se fragmentent. Il faut veiller à ce qu'ils le soient le moins possible.
    2/ Dans la VM, les bases de données sont scindées en X fichiers. Ces fichiers sont amenés à grossir : ils se fragmentent donc obligatoirement, surtout si ces fichiers grossissement petit à petit : il faut donc veiller à ce qu'ils soient le moins possible fragmentés, que ta machine utilise des disques virtuel ou physiques.
    Si j'en crois la configuration actuelle de k2011 la défragmentation n'apportera rien et peut même engendrer des problèmes de performances :

    - Au niveau du SAN, la plupart des défragmentateurs ne sont pas au courant de l'implémentation physique des clusters sur disque. Le système d'exploitation ne voit qu'une représentation logique du disque (LUN). Défragmenter un disque depuis le système d'exploitation peut allonger la distance qu'il existerait entre la tête de lecture d'un des disques et le secteur qui contient le bloc de données. De plus en fonction du RAID sous jascent, l'overhead IO peut être très important (calcul de parité pour le RAID 5 et 6 qui sont les raid les plus utilisés sur ce type de stockage).

    - Même chose pour les VMFS du fait de comment l'écriture des blocs se font sur ce type de stockage (un fichier VMFS peut se fragmenter bien entendu mais pas du point même point de vue Extent de Windows). Le système d'exploitation ne voit ici qu'une abstraction du stockage. C'est l'hyperviseur qui se charge de translater les opérations IO du système d'exploitation sur le stockage virtuel.

    ++

  12. #12
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Citation Envoyé par k2011 Voir le message
    Je viens de lancer DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES sur mes deux server pour esperer voir quelque chose de flagrant et là c'est le drame; car d'un coté le temps d'execussion est de 4 min et de l'autre je suis à 10 min et ca tourne toujours.
    Ca promet !!!!!!!!!
    Justement positionnez les compteurs qui vont bien pour pouvoir vous faire une idée !

    A titre de test et pour savoir si votre stockage est en cause , que donne une copie de fichier (plus ou moins important) sur un de vos disques ?

    ++

  13. #13
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Je j'ai enfin le resulta du dbcc showcontig et les chiffres ( meme si je les comprend pas ) semble indiquer une énorme diferrence.

    %Frag = LogicalFrangmentation

    Nom de l'objet %frag %frag Difference

    VAL_TACHES_USER 100,00 0,00 100,00
    IF_MYSQL 100,00 0,00 100,00
    LOGCLIENT 99,99 0,00 99,99
    ERRORLOG 99,98 0,00 99,98
    ABS_USER 99,98 0,00 99,98
    PRODUIT 99,96 0,00 99,96
    SAVE_TVTRANSFERT_2 99,95 0,00 99,95
    ERRORLOG 99,95 0,00 99,95
    PRODCLI_EXT 99,91 0,00 99,91
    MLTASK 99,89 0,00 99,89
    LOGINTV 99,88 0,00 99,88
    LOG_CENTRA 99,83 0,00 99,83
    FAMPRODUIT 33,33 0,00 33,33

  14. #14
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Visiblement vous avez pas mal de fragmentation logique sur vos tables. Vous pouvez tenter une reconstruction de vos indexes (mais là je me pose la question de savoir pourquoi une telle différence .. est ce que vous avez eu de l'activité entre temps ?)

    ++

  15. #15
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    C'est un peu particulier car l'un des deux serveur est celui de prod et l'autre est pour faire des test. Il y a 1 semaine de difference dans les data mais meme si je restaure les data de hier sur le nouveau serveur je jsuis certain que les resultat seron les meme.

    Concernant les metric , j'ai les courbes sous les yeux mais je ne sais pas quelles chiffres vous fournir ! la moyenne ?

    New server
    Memory average 132
    Proc average 0.308

    Old server
    Memory average 1022
    Proc average 12

  16. #16
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Pour defragmanter tout ca je fais quoi.
    Je pourrais chercher sur le net mais je prefere m'en remettre a vos experrience avec les options qui vons bien

  17. #17
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Compteurs proposés par dbaffaleuf :

    \Memory\Available MBytes
    \Processor\Processor Time %

    Paramètres de SQL Server:
    - Max server memory

    +

    \SQLServer:Buffer Manager\Page Life Expectancy
    \SQLServer:Buffer Manager\Buffer Cache Hit Ratio

    Regardez ces compteurs lorsque vous lancez un DBCC SHOWCONTIG par exemple.

    ++

  18. #18
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    pour le max memory c'est 3071 sur l'ancien et 2047 sur le nouveau

  19. #19
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par k2011 Voir le message
    Pour defragmanter tout ca je fais quoi.
    Je pourrais chercher sur le net mais je prefere m'en remettre a vos experrience avec les options qui vons bien
    Avec ce script : http://blog.developpez.com/sqlpro/p8...des-statisti/*

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  20. #20
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Jinroh77 Voir le message
    Défragmenter à l'intérieur des VM, les disques utilisés par SQL Server ??
    Cela revient au fait de le faire également si tu n'es pas dans une VM ?

    Je pensais que le moteur de MS SQL Server était un grand garçon et, à partir du moment où les tailles des fichiers sont correctement paramétrées, il se débrouillais pour placer correctement ses fichiers aux bons endroits du disque (à l'extérieur). Et que du coup, il était même déconseillé d'appliquer des défrag classiques de fichiers là où sont positionnés les fichiers de données du moteur.
    Non, SQL ne gère pas physiquement où va être enregistré son fichier : c'est l'OS qui fait ce travail.

    Donc le fichier MDF peut parfaitement est découpé en 1000 fragements, SQL Server ne sera même pas au courant.

    En revanche, SQL Server s'assure de stocker les données d'une même table à la suite les un des autres... Dans une certaine mesure : quand une table dépasse la taille qu'il avait prévu, l'espace suivant au sein du fichier peut déjà être occupé. A ce moment, pour éviter de mettre 3 minutes à déplacer 2 Go de données et faire attendre tout le monde, il se met à fragmenter à l'intérieur du fichier MDF. C'est là que les fonctions d'administration entrent en jeu (je ne les connais pas, j'en ai jamais eu besoin - utilisation perso de SQL Server, avec des bases qui sont toujours restées de taille raisonnables)

    -- Edit après lecture du post de mikedavem
    (ceci s'applique effectivement plutôt sur un disque physique dans un serveur et non un SAN)
    Idem pour les fichiers à l'intérieur d'un disque virtuel : que le fichier du disque virtuel soit fragmenté ou non ne change pas le fait que les données à l'intérieur du fichier peuvent aussi être fragmentées ou non : il faut donc bien effectuer un defrag à la fois sur la machine hote et ensuite dans les machines virtuelles.

    Ceci dit, certains SAN proposent un defragmenteur.
    Et je suis persuadé (à partir du moment où les fichiers physiques ne sont pas fragmentés) que le defrag dans VM apporte quelquechose.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Performance SQL Loader
    Par devdev2003 dans le forum SQL*Loader
    Réponses: 4
    Dernier message: 31/07/2007, 15h47
  2. performances sql server standard et projet ADP ACCESS?
    Par cbleas dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/04/2007, 13h53
  3. Analyse performance SQL 4 sous NT4
    Par cedrickb dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/07/2006, 20h57
  4. Performance SQL LOADER
    Par devdev2003 dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 02/05/2006, 12h01
  5. Performance SQL Server - lot DTS
    Par arno_web dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/01/2006, 14h30

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