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 :

Problème de performance par vague (lock)


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 27
    Points
    27
    Par défaut Problème de performance par vague (lock)
    Bonjour,

    Je me prends la tête sur un problème de performance. J'ai un site web sur une machine (IIS 7.0) qui se connecte aux bases de données sur une autre machine (SQL Server 2008 Express). Lorsqu'il y a plusieurs requêtes (une centaine avec moins de 100ms entre la première et la dernière) de SELECT renvoyant un seul Row, ca va très vite.

    Par contre, si ca récupère plusieurs row (3-4 à une centaine), j'observe via le moniteur d'activité de SQL un temps d'attente qui passe à près de 6s puis qui retourne à quelque dizaine de ms puis retour à 6s et redescend et ainsi de suite.

    On ne voit pas du tout d'où ca vient. On a l'impression de voir une vague qui monte puis tout d'un coup tout se purge sans aucune erreur sql ou de transaction bloquée.

    A l'aide s'il vous plait !

  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 849
    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 849
    Points : 52 978
    Points
    52 978
    Billets dans le blog
    6
    Par défaut
    quel est le volume de la base de données ? Que dit le compteur Buffer Cache Hit Ratio de "QL:MonInstance/Buffer manager" ?

    A +

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    Merci de ta réponse.
    On travaille sur des bases dont la plus grosses contient à peine 2000 enregistrement (Ce devra être 100 fois plus en production mais rien de gigantesque).
    J'ai analysé le Buffer Cache Hit Ratio qui reste à 100% (d'ailleurs, je ne comprends pas trop ce que c'est, si tu peux m'expliquer et me dire si c'est un bon résultat).

    Une idée ?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    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 849
    Points : 52 978
    Points
    52 978
    Billets dans le blog
    6
    Par défaut
    la notion "d'"enregisterment" n'existe pas dans un SGBDR la volumétrie c'est la place que prend une BD dans le système. Tu l'obtiendra pas EXEC sp_spaceused dans le contexte de la base

    Je pnese que votre machine n'est pas un serveur dédié.
    Quelle est la RAM de cette machine et que contient-elle comme :
    1) applications
    2) services systèmes

    Y a t-il un antivirus ?

    A +

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    Ca prend une place phénoménale !
    database_zine 2230 Mb
    unallocated space 1110 Mb
    reserved 135248 KB
    data 131680 KB
    index_size 1864 KB
    unused 1704 KB

    Il s'agit effectivement d'une machine virtuelle.
    L'antivirus a déjà été désactivé
    On lui a mis 3Go de mémoire

    En appli, elle n'a que SQL Server Management Studio (en plus de l'instance de SQLExpress) et IIS

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    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 849
    Points : 52 978
    Points
    52 978
    Billets dans le blog
    6
    Par défaut
    2.2 Go ce n'est pas grand chose.. à lire : http://blog.developpez.com/sqlpro/p8...en_fonction_de

    machine virtuelle, ça c'est le problème !
    En sus 3 Go pour SQL Server Express qui est limité à 1 Go de RAM, cela ne sert à rien. Je baisserais à 2GO. Mais surtout il faut éviter à tout prix le "ballooning", c'est à dire fixer la RAM à 2 Go de manière définitive.

    A +

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 35
    Points : 27
    Points
    27
    Par défaut
    C'est quoi le problème avec une VM (sachant qu'on fait des tests dessus mais qu'au final ce sera un serveur dédié) ?

    Si on utilisait SQL Server et pas la version Express, on constaterait une différence ?

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    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 849
    Points : 52 978
    Points
    52 978
    Billets dans le blog
    6
    Par défaut
    Lisez l’article que j'ai écrit à ce sujet : http://blog.developpez.com/sqlpro/p8...virtualisation
    En particulier le balloonning (processus par défaut) alloue dynamiquement de le RAM aux machines ce qui fait descendre et monter la RAM que vous avez alloué au serveur SQL qui doit tantôt aller chercher ses données en RAM (donc rapide) et tantôt sur le disque (donc lent). Ne cherchez pas ailleurs vos problèmes....

    A +

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/01/2011, 09h03
  2. Problème de performance résolu par redémarrage
    Par Remremm dans le forum Administration
    Réponses: 5
    Dernier message: 20/09/2010, 15h49
  3. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  4. Probléme d'insertion par défault
    Par xavier62 dans le forum SQL
    Réponses: 7
    Dernier message: 28/11/2003, 13h03
  5. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18

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