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 :

Lenteur sur serveur puissant (même en local)


Sujet :

Administration SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut Lenteur sur serveur puissant (même en local)
    Bonjour,

    J'ai un script de création de base (5000 lignes) qui s'écécute sur mon poste en local en 4 secondes.
    Le même script que je lance sur le serveur, également en local, prends 11 secondes !
    (idem pour tous les traitements, entre 2 et 4 fois plus lents sur le serveur)

    Mon poste est un Double Coeur a 2 Ghz avec 8 Go de ram sous Windows Seven
    Le serveur est un Quad Coeur a 3 Ghz avec 16 Go de Ram sous Windows 2008 R2 SP1 tout neuf pré-installé par Dell.

    Le SQLserver 2008 R2 à été installé, sur les deux postes, avec les options par défaut,
    et je n'ai rien modifié dans la configuration ou les options de SQLserver (j'aurais du mal, d'ailleurs...)

    Quelqu'un aurait-il une explication, ou surtout une solution pour retrouver une vitesse normale sur mon serveur ?

    Merci.

  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 772
    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 772
    Points : 52 735
    Points
    52 735
    Billets dans le blog
    5
    Par défaut
    Quelles sont les version de SQL Server ?
    Standard, enterprise...
    Quelle est la version des OS ? 32 ou 64 bits ???
    Physique ou virtuel ?

    Quelle est la configuration des fichiers de la base créée ?
    *
    (peut-on voir le CREATE DATABASE et éventuelement les ALTER DATABASE ?)

    Quelle est la config du serveur SQL ? => EXEC sp_configure

    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 régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut
    Bonjour, et merci de te pencher sur mon problème !

    Version 10.50.2500.0 Enterprise Edition (64-bit) SP1 sur les deux machines, en environnement physique non virtualisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE DATABASE Materiel ON  PRIMARY
    ( NAME = N'Materiel', FILENAME = N'D:\Bases\Materiel.mdf' )
    LOG ON ( NAME = N'Materiellog', FILENAME = N'D:\Bases\Materiel_Log.ldf')
     
    ALTER DATABASE Materiel SET ALLOW_SNAPSHOT_ISOLATION ON 
    ALTER DATABASE Materiel SET RECOVERY SIMPLE
    Ci-joint une copie écran du SP_Configure, rigoureusement identique sur les deux machines
    Images attachées Images attachées  

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut
    Pour tenter de cerner le problème, j'ai écrit un petit script que j'ai lancé sur le serveur et sur mon poste de dev

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    set nocount on;    
    declare  @i int = 1
    print 'Vitesse processeur brut :'
    print sysdatetime()
    While @i < 10000000
        begin
            set @i+=1
        end
    print sysdatetime()
    go
     
    declare  @i int = 1
    print 'Vitesse acces aux données :'
    print sysdatetime()
    While @i < 200
        begin
            set @i+=1
            if exists (select 1    from  sysobjects where  id = object_id('test') and   type = 'U')
               drop table test    
     
            create table test (Test_ID int not null, Test_Nom varchar(30) null
                               constraint PK_Test primary key nonclustered (Test_ID)
                            )
        end
    print sysdatetime()
    go
    Sur le serveur, j’obtiens :
    Vitesse processeur brut :
    2012-07-30 02:51:07.0113289
    2012-07-30 02:51:10.2874129
    Vitesse acces aux données :
    2012-07-30 02:51:10.3342141
    2012-07-30 02:51:16.1687637
    Sur mon poste, j'obtiens :
    Vitesse processeur brut :
    2012-07-30 02:51:21.8944759
    2012-07-30 02:51:27.0387701
    Vitesse acces aux données :
    2012-07-30 02:51:27.0657716
    2012-07-30 02:51:28.1828355
    Les résultats sont éloquents :
    -en vitesse processeur, le serveur est environs deux fois plus rapide
    -en accès aux données, le serveur est environs trois fois plus lent !

    Mais d'où cette différence peut-elle bien venir ????

  5. #5
    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
    Tu peux déjà regarder les options de gestion de l'alimentation sur ton serveur. (Power Plans) si tu es en Windows 2008 R2.

    >> http://blog.developpez.com/mikedavem...quo-energie-d/

    Par défaut on a le mode "Balanced" qui est paramétré ce qui peut nuire aux performances des requêtes nécessitant de la ressource CPU. Tu peux aussi regarder dans le bios de ton serveur les valeurs paramétrés pour la gestion de l'alimentation.

    ++

  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 772
    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 772
    Points : 52 735
    Points
    52 735
    Billets dans le blog
    5
    Par défaut
    Vos test sont fait depuis ou ? Directement sur le serveur ??? (DANS SSMS ?)

    Il faut limiter la RAM utilisée par SQL Server en y mettant 14 Go de max server memory.

    Pourquoi avez vous fait un ALTER DATABASE Materiel SET ALLOW_SNAPSHOT_ISOLATION ON ?
    Si vous persistez dans cette option, avez vous dimensionné et placé correctement les fichiers de la tempdDB ?

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

  7. #7
    Membre régulier
    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
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par azur668 Voir le message
    Les résultats sont éloquents :
    -en vitesse processeur, le serveur est environs deux fois plus rapide
    -en accès aux données, le serveur est environs trois fois plus lent !

    Mais d'où cette différence peut-elle bien venir ????

    Bonjour,

    Qu'en est-il du sous système disque du serveur ? SAN ? Raid ?
    Votre poste a-t-il un SSD ?


    Vous pouvez deja faire un test rapide de perfs > Exécuter un backup d'une base en ligne de commande, il devrait s'afficher la vitesse moyenne d'écriture du dump.

    Cdt,

Discussions similaires

  1. [PHP 5.3] Résultat preg_replace pas le même en local et sur serveur
    Par absot dans le forum Langage
    Réponses: 10
    Dernier message: 28/04/2012, 15h00
  2. Réponses: 0
    Dernier message: 23/05/2008, 17h59
  3. Acceder a une base sur serveur sans access en local
    Par doudoustephane dans le forum Access
    Réponses: 8
    Dernier message: 25/06/2006, 23h31
  4. CORBA sur serveur web en local
    Par barberot dans le forum CORBA
    Réponses: 8
    Dernier message: 31/03/2004, 08h28

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