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 :

[2000][2005] Problème de CPU ?


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Par défaut [2000][2005] Problème de CPU ?
    J'ai lu l'article que voici :

    SQL Server : Votre serveur a-t-il un problème de CPU ?


    Le CPU est l'une des ressources matérielle à laquelle il faut prêter attention sur un serveur de base de données (avec les ressources disques, mémoire et réseau).

    Une requête qui est exécutée par le serveur est découpée en tâches, et chaque tâche peu se retrouver dans 2 files d'attente sur le serveur :

    Wait Queue : Tâche en attente d'une ressource
    Runnable Queue : Tâche en attente de s'exécuter sur l'un des processeurs
    Le temps passé dans la Runnable Queue est un très bon indicateur de problème CPU. En effet il existe un Scheduler par CPU sur le serveur et chacun traite une tâche de manière coopérative. Tant que le CPU n'a pas finie la tâche en cours que celle-ci n'est pas bloquée par une attente de ressource, le CPU n'exécutera rien d'autre.

    Sous SQL Server 2005 nous avons la vue sys.dm_os_wait_stats qui nous fournie ces informations, sous SQL Server 2000 (et 7 a priori) c'est la commande DBCC SQLPERF(WAITSTATS).

    Il faut tout d'abord effacer les compteurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC SQLPERF(WAITSTATS, CLEAR)
    Attendre un certains temps (quelques heures ou minutes suivant ce que vous souhaitez mesurer) puis…

    Sous SQL Server 2005 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select   sum(signal_wait_time_ms) AS tps_attn_signal_ms,
             cast(100.0 * sum(signal_wait_time_ms) / sum(wait_time_ms) as numeric(20, 2)) AS pct_signal, 
             sum(wait_time_ms - signal_wait_time_ms) AS tps_attn_ressource_ms, 
             cast(100.0 * sum(wait_time_ms - signal_wait_time_ms) / sum(wait_time_ms) as numeric(20, 2)) AS pct_ressource 
    from sys.dm_os_wait_stats
    Sous SQL Server 2000 ou 7 :

    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
    create table #waitstats 
    ( 
       [wait_type]                nvarchar(120) not null, 
       [waiting_tasks_count]    bigint not null, 
       [wait_time_ms]            bigint not null, 
       [signal_wait_time_ms]    bigint not null 
    ) 
     
    insert into #waitstats 
    exec ('DBCC SQLPERF(WAITSTATS)') 
     
    select   sum(signal_wait_time_ms) AS tps_attn_signal_ms,
             cast(100.0 * sum(signal_wait_time_ms) / sum(wait_time_ms) as numeric(20, 2)) AS pct_signal, 
             sum(wait_time_ms - signal_wait_time_ms) AS tps_attn_ressource_ms, 
             cast(100.0 * sum(wait_time_ms - signal_wait_time_ms) / sum(wait_time_ms) as numeric(20, 2)) AS pct_ressource 
    from #waitstats
    Le champ qui nous intéresse dans le résultat de la requête est pct_signal qui est la proportion d'attente du CPU, sa valeur doit généralement se situer en dessous de 20%. Au-delà de ce chiffre (si cela se produit constamment) il faudra soit penser à ajouter ou mettre à jour vos processeur, soit faire la chasse aux commandes consommatrices de CPU (tel que les tris et les compilations).

    Bon tests…
    De mon côté, j'ai systèmatiquement un pct_signal > à 20% (autour de 60% sur une semaine). Le serveur se porte bien est semble ne pas avoir de problème de CPU.

    N'est-ce pas un peu exagéré ? Qu'en pensez-vous ?
    Quelqu'un a t-il de l'expérience sur ce sujet ?
    Faut-il que j'envisage vraiment d'augmenter la CPU ?

    Merci d'avance pour vos réponses,

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    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 : 21 999
    Billets dans le blog
    6
    Par défaut
    20% me parait franchement faible et dépend du nombre de processeur réels et virtuel. Sur un monoproc, j'aurais tendance à dire que 40% ne me gêne pas...

    Enfin, la seule chose importante est de se demander si les temps de réponse globaux sont bon ou pas (au niveau utilisateur s'entend).

    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/ * * * * *

Discussions similaires

  1. sql server 2000/2005 les cubes
    Par schmur1 dans le forum MS SQL Server
    Réponses: 23
    Dernier message: 03/04/2006, 11h25
  2. [Delphi 2005] Problème avec JVCL
    Par jpminiscloux dans le forum EDI
    Réponses: 3
    Dernier message: 11/09/2005, 15h23
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. [Delphi 2005] : Problème avec MessageDlg.....
    Par babyface dans le forum Langage
    Réponses: 2
    Dernier message: 08/07/2005, 12h07
  5. [Delphi 2005] : Problème de librairies.....
    Par babyface dans le forum Composants VCL
    Réponses: 1
    Dernier message: 07/07/2005, 14h15

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