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 :

Optimisation performance MS SQL2008


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 27
    Par défaut Optimisation performance MS SQL2008
    Bonjour,

    Nous venons de migrer notre BdD (ERP) d'un WIN SERVER 2003 32 BITS / 4Go RAM / MS SQL 2000 vers un serveur WIN SERVER 2008 64 BITS / 16Go RAM / MS SQL 2008 64 BITS

    Je cherche à optimiser le paramétrage de MS SQL pour bénéficier à plein de la nouvelle architecture.
    La base n'est pas très grosse (8-9 Go).


    Or j'ai quelques questions:

    -Comment charger l'intégralité de la base en RAM pour éviter les accès disques.
    -Lorsque que je lance une requête, seule un seul des 4 cœurs fonctionne, je n'utilise donc qu'un 1/4 de la puissance. Y-a-t'il un paramétrage pour augmenter le nombre de cœur utilisés?
    -Y-a-t'il une limitation de débit réseau dans SQL car lors de certaine taches l'utilisation du réseau reste à 1Mbits au lieur d'exploiter la totalité de la BP.


    Je suis désolé si certaine de ces questions vous paraissent idiotes, mais je ne suis pas un expert.

    Merci d'avance pour votre aide.

  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
    22 010
    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 010
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par k-lendos Voir le message
    -Comment charger l'intégralité de la base en RAM pour éviter les accès disques.
    elle se chargea toute seule à l'usage

    -Lorsque que je lance une requête, seule un seul des 4 cœurs fonctionne, je n'utilise donc qu'un 1/4 de la puissance. Y-a-t'il un paramétrage pour augmenter le nombre de cœur utilisés?
    tout dépend de la requête. Si elle est d'un cout faible, elle ne sera pas parallélisé. D'autre part, pour bénéficier du parallélisme il faut que TOUT SOIT PARALLÉLISÉ à même niveau. Autrement dit il faut que les, données votre base de production soient répartis sur 4 fichiers disposés sur 4 axes physiques différents (disque). Même chose pour la tempdb.

    -Y-a-t'il une limitation de débit réseau dans SQL car lors de certaine taches l'utilisation du réseau reste à 1Mbits au lieur d'exploiter la totalité de la BP.
    C 'est l'OS qui s'occupe de la partie réseau... Mais ce n'est pas parce que vous avez telle ou telle BD que vous en bénéficiez automatiquement. Si le système n'a pas besoin ou n'est pas capable de plus, alors il se limitera de lui même...
    Question, avez vous achetez un serveur dans une gamme constructeur prévu pour l'usage des SGBDR ? L'architecture interne, notamment au niveau des bus y est différente et spécialement adaptée !

    Enfin, la première des optimisation commence par la qualité du modèle relationnel. Si il n'a pas été modélisé en respectant notamment les formes normales et si la base n'a pas été bien indexée, alors vous pourrez toujours mettre un super serveur physique, ce sera comme pisser dans un violon !

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

  3. #3
    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
    Citation Envoyé par k-lendos Voir le message
    Comment charger l'intégralité de la base en RAM pour éviter les accès disques
    Le mécanisme est géré par SQL Server. Les seuls paramètres sur lesquels on peut jouer sont relatifs à la taille du cache de données, donc si tu es en 64 bits sur une install standard avec 16 Gb de RAM, SQL Server va allouer au besoin, jusqu'à ce que potentiellement toutes les pages de données et d'index aient suivi au moins un cycle en mémoire.

    Citation Envoyé par k-lendos Voir le message
    Lorsque que je lance une requête, seule un seul des 4 cœurs fonctionne, je n'utilise donc qu'un 1/4 de la puissance. Y-a-t'il un paramétrage pour augmenter le nombre de cœur utilisés?
    Un batch SQL correspond à une tâche dans SQL Server, et une tâche est associée à un worker (en gros ce qui porte l'exécution du batch dans le moteur relationnel). Intrinsèquement, un worker ne s'exécute que sur un seul CPU à la fois, sauf dans un cas où le coût de la requête est tel que l'optimiseur choisit de compiler un plan en utilisant plusieurs workers, mais encore une fois c'est SQL Server qui cuisine et tu n'as que peu d'influence là-dessus. Donc c'est normal. SQL Server est écrit pour tirer pleinement partie de multiples processeurs, pas de soucis là dessus.

    Citation Envoyé par k-lendos Voir le message
    -Y-a-t'il une limitation de débit réseau dans SQL car lors de certaine taches l'utilisation du réseau reste à 1Mbits au lieur d'exploiter la totalité de la BP.
    Il y a un paramètre qui définit la taille du paquet échangé entre le serveur et le client. Il est fixé par défaut à 4Kb ce qui convient bien à la plupart des situations. Encore une fois s'il a besoin de prendre plus, il prendra plus.

    J'espère que ça t'aide un peu à y voir plus clair.

    A+. David B.

  4. #4
    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
    Ah désolé Fred j'avais pas vu ta réponse.

    David B.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    la première des optimisation commence par la qualité du modèle relationnel.
    Oui c'est vraiment le nerf de la guerre(un modèle de données, des index et un code aux petits oignons) et encore plus avec SQL Server qui ne permet pas ou très peu d'artifices pour contourner certaines mauvaises conceptions...

    Et des procédures stockées !!


    De quel type d'application s'agit-il ? Nombre d'utilisateurs ?

  6. #6
    FMJ
    FMJ est déconnecté
    Membre éclairé
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 417
    Par défaut
    Citation Envoyé par kagemaru Voir le message
    [code]
    Et des procédures stockées !!
    Pourquoi tu parles des PS ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 27
    Par défaut
    Merci à tous pour vos réponses.

    C'est la BdD de notre ERP, je ne suis donc pas maitre du modèle relationnel.
    Il y a entre 20 et 30 utilisateurs.
    Ce n'est pas énorme, mais aujourd'hui j'ai quand même des perf assez faibles et des temps de réponse assez longs.
    Et surtout je ne vois pas d'amélioration de perf lors de ce changement!
    C'est un serveur DELL, qui n'est pas spécialement prévu pour les SGBDR.

    Je commence à penser que cette base est codée avec les pieds!

Discussions similaires

  1. Probleme requete avec GROUP BY, optimisation, performance
    Par MatthieuFourcade dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/12/2009, 11h44
  2. Optimisation performance MYSQL
    Par adapt dans le forum Requêtes
    Réponses: 1
    Dernier message: 29/09/2009, 15h10
  3. Optimisation performance accès BD pour appli Web
    Par killysui dans le forum ASP.NET
    Réponses: 10
    Dernier message: 23/06/2008, 14h23
  4. Réponses: 3
    Dernier message: 05/04/2006, 15h13
  5. [Access] Optimisation performance requête - Index
    Par fdraven dans le forum Access
    Réponses: 11
    Dernier message: 12/08/2005, 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