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

MS SQL Server Discussion :

SQL-Server et performance


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par défaut SQL-Server et performance
    Bonjour,

    Mon serveur virtuel (Windows Server 2003) héberge un serveur de base de données SQL Server.

    Tous les matins, un job tourne pendant en moyenne 2h.

    J'ai voulu raccourcir ce temps en ajoutant un CPU (manipulation faite à distance par quelqu'un d'autre).

    Résultat, le job prend 3h maintenant à s'éxécuter.

    Je ne sais pas où chercher le problème, avez-vous une piste pour commencer?

    Merci par avance !

  2. #2
    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
    Que fais votre job exactement ? Est-ce un script TSQL ? Un lot SSIS ? etc ...

    Combien de processeurs sont utilisés par SQL Server depuis l'ajout de votre VCPU ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT 
     cpu_count, hyperthread_ratio
    FROM sys.dm_os_sys_info;
    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par défaut
    Bonjour mikedavem et merci de vous intéresser à mon souci !

    Alors, il s'agit d'un lot SSIS qui fait de l'import de données d'une base d'un serveur vers la base de mon serveur.

    Voici le résultat obtenu avec votre requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cpu_count   hyperthread_ratio
    ----------- -----------------
    4           1
    Cela signifie que les 4 processeurs sont utilisés?
    Que signifie le champ "hyperthread_ratio"?

  4. #4
    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
    Cela signifie simplement que SQL Server voit 4 CPU ici. Si vous n'avez rien modifié de particulier il les utilisera tous (a moins d'avoir paramétré l'affinity mask mais je doute que c'est le cas pour vous).

    Vérifiez éventuellement votre parallélisme :

    Eventuellement tester avec le parallèlisme désactivé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EXEC sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    EXEC sp_configure 'max degree of parallelism'
    GO
    .. et faites un essai avec le parallélisme désactivé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EXEC sp_configure 'max degree of parallelism', 1;
    GO
    ++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 87
    Par défaut
    Bonjour,

    si c'est un problème de parallélisation, vous devriez voir énormément de CXPACKET :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT TOP 10
    	[Wait type] = wait_type,
    	[Wait time (s)] = wait_time_ms / 1000,
    	[% waiting] = CONVERT(DECIMAL(12,2), wait_time_ms * 100.0 / SUM(wait_time_ms) OVER())
    FROM sys.dm_os_wait_stats
    WHERE wait_type NOT LIKE '%SLEEP%' 
    --AND wait_type NOT LIKE 'CLR_%'
    ORDER BY wait_time_ms DESC;

    Cdt,

  6. #6
    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
    Pas forcément. Si le package SSIS est lancé une fois par jour et que d'autres types d'attentes se produisent plus souvent on ne le verra pas de cette façon. Ils peuvent être "noyer" dans la masse.

    Il vaut mieux utiliser la vue sys.dm_os_waiting_tasks pour vérifier les tâches qui auraient un lien avec un éventuel type d'attente CX_PACKET.

    ++

Discussions similaires

  1. [AC-2013] SQL Server moins performant que Access ?
    Par FILK78 dans le forum Access
    Réponses: 6
    Dernier message: 11/06/2014, 15h11
  2. [Livre] SQL Server 2000 - Performance tuning
    Par zoom61 dans le forum Livres
    Réponses: 1
    Dernier message: 11/06/2014, 12h55
  3. [SQL Server] Jointure entre 2 tables et performances
    Par rmeuser dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/04/2006, 10h12
  4. Performance SQL Server - lot DTS
    Par arno_web dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/01/2006, 14h30
  5. performance de sql server
    Par samsih dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/11/2005, 16h46

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