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 :

SQL Server manque de mémoire


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut SQL Server manque de mémoire
    bonjour
    Sur un de mes serveur je rencontre du pression mémoire malgré la fixation du valeur max_mémory et min-mémory
    sur ce piste parfois j'ai eu des dégradations de temps d’exécution de quelque requêtes
    pour cela j'ai penser que le plan cache de mes requêtes sont entrain d’être lue depuis le disque et non pas depuis le RAM et que mes data n'est pas entrain d'étre persister en mémoire
    donc comment je peux mesurer L'adéquation RAM/mise en cache et sur quel compteur du performance il est indiquer ???
    et a quel moment je peux constater que mes données sont entrain d’être lue depuis le disque ??
    cordialement

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Octobre 2013
    Messages : 74
    Points : 160
    Points
    160
    Par défaut
    Bonjour,
    Pour faire court:
    Le compteur "Page Life Expectancy" est censé donner la durée de vie moyenne d'une page de données dans le cache de données. Sa valeur, exprimée en secondes, permet de savoir s'il existe une pression mémoire sur le cache. On trouvera en général une valeur élevée (disons supérieure à 300 secondes) lorsque "tout va bien", et une valeur très faible indiquera une inadéquation entre la taille du cache et les pages de données brassées.
    Ce compteur peut être collecté via une sesson Performance Monitor, ou via la vue sys.dm_os_performance_counters (counter_name='Page life expectancy')

    Lorsque les pages de données sont rapatriées depuis le disque, la session est en attente sur l'un des événements de type PAGEIOLATCH. Donc via les vues sys.dm_os_waiting_tasks (wait_type like '%PAGEIO%', regarder le nombre de lignes retournées et les valeurs de wait_duration_ms) et sys.dm_os_wait_stats (wait_type like '%PAGEIO%', regarder l'évolution des valeurs de wait_time_ms), vous pourrez savoir si vos sessions passent du temps à brasser des données sur disque.

    Cordialement.

    Benjamin

  3. #3
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    ci joint la valeur mesurer sur mon serveur pour le compteur "page life expancty" il varie entre 473s et 73s
    Est t'il forcément prendre l'action d'augmenter du RAM
    Images attachées Images attachées  

  4. #4
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Regarde aussi le compteur Buffer Cache Hit Ratio. Ca montre un signe de pression mémoire. L'action n'est pas forcément de rajouter de la RAM. Par exemple, si tu exécutes des requêtes sur des tables non indexées, il vaut mieux indexer que d'ajouter de la mémoire.
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Depuis quand le serveur a t-il redémarré ?

    Pour vous en assurer, faites ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT create_date
    FROM sys.databases
    WHERE  name = 'tempdb'
    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/ * * * * *

  6. #6
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Depuis quand le serveur a t-il redémarré ?

    Pour vous en assurer, faites ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT create_date
    FROM sys.databases
    WHERE  name = 'tempdb'
    A +

    IL S'agit d'un nouveau serveur implémenter en sql2008R2 64bit

    il a travailler pendant 3jours avec une seul database puis dé que le systéme est mis en production on a ajouter 8 base

    la dégradation du temps de compteur "page life expectancy" a été détecter dé qu'on a mis le serveur en production

    pour info j'ai initialiser hiér les paramètres d'attentes du sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC SQLPERF('sys.dm_os_wait_stats',clear)
    pour avoir des vrai compteur

    la valeur obtenu était "REQUEST_FOR_DEADLOCK_SEARCH"
    Images attachées Images attachées  

  7. #7
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Tu as fixé quoi comme min et max server memory ?
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  8. #8
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par darkelend Voir le message
    Tu as fixé quoi comme min et max server memory ?


    le min est de zéro
    le max mémory est 13,5 GO J'ai laisser 2GO pour le système

  9. #9
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Est ce qu'il y a autre chose sur le serveur en plus du moteur SQL ?
    Est ce que tu vois passer des requêtes couteuses (qui font beaucoup de page read par exemple) ?
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Sont-ce des bases OLTP pures, OLAP ? ROLAP ?

    Bref, que font vos applications sur ces bases.

    Il se peut qu'en fonction de la manière dont vous les utilisez, ce page life expectansy soit normal !

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

  11. #11
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par darkelend Voir le message
    Est ce qu'il y a autre chose sur le serveur en plus du moteur SQL ?
    Malheureusement c'est oui aussi c'est un serveur Applicatifs et aussi il est virtualisé
    Est ce que tu vois passer des requêtes coûteuses (qui font beaucoup de page read par exemple) ?
    non se sont juste des procédure d'insertion mais il existe des requêtes coûteuses en terme IO ce ci grâce a L'utilisation des Fonctions d'agrégation count, order by

  12. #12
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Sont-ce des bases OLTP pures, OLAP ? ROLAP ?

    Se sont des bases OLTP

    Bref, que font vos applications sur ces bases.

    des procédures d'insertions + quelque requétes de reportring

    Il se peut qu'en fonction de la manière dont vous les utilisez, ce page life expectansy soit normal !

    l'autre compteur du performance 'cache hit ratio' il m'a donner un valeur de 100% j'ai utiliser cette requêtes pour prendre les mesures nécessaires

    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
    --------------------------------- 
    -- Nicolas SOUQUET - 02/07/2009 - 
    --------------------------------- 
    SELECT CAST( 
            ( 
              SELECT CAST (cntr_value AS BIGINT) 
              FROM sys.dm_os_performance_counters  
              WHERE counter_name = 'Buffer cache hit ratio' 
            )* 100.00 
            / 
            ( 
              SELECT CAST (cntr_value AS BIGINT) 
              FROM sys.dm_os_performance_counters  
              WHERE counter_name = 'Buffer cache hit ratio base' 
            ) AS NUMERIC(6,3) 
          )
    A +

  13. #13
    Expert éminent sénior
    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 : 45
    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
    Points : 12 891
    Points
    12 891
    Par défaut
    Je pense que tu devrais placer plus de compteurs en plus du page life expectancy pour savoir si tu as une réelle pression mémoire. Ce seul compteur ne suffit pas à dire que tu as de la pression et que tu lis plus sur disque. Les valeurs que tu trouves peuvent être tous à fait normal comme le souligne SQLPro.

    Des compteurs judicieux à placer en plus du "page life expectancy" sont les suivants :

    - Buffer Manager : Buffer cache hit ratio
    - Buffer Manager : page read/s
    - Buffer Manager : Lazy Writes /s

    ++

  14. #14
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Ou utiliser ce genre d'outils http://wiki.kankuru.fr/wiki/25/instance-dashboard (même s'il n'y a pas tout)
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

Discussions similaires

  1. Etat sur zone mémoire et SQL Server
    Par Beetle dans le forum WinDev
    Réponses: 4
    Dernier message: 17/10/2007, 08h30
  2. [C# et SQL Server 2005]Erreur mémoire
    Par dtavan dans le forum Accès aux données
    Réponses: 1
    Dernier message: 05/06/2007, 13h01
  3. Trop de mémoire utilisée par SQL Server
    Par sylvie75 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/08/2006, 12h46
  4. Mémoire SQL server
    Par YOYOVbSQL dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/10/2004, 13h38
  5. Processus Sql Server prend toute la mémoire vive
    Par cracosore dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 19/02/2004, 17h53

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