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 2008 R2 + problème de perf


Sujet :

Administration SQL Server

  1. #61
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Bonjour,

    Pour info ce matin l'update a tourné toute la nuit et voila le résultat des attentes en ce moment :

    PAGEIOLATCH_EX 51616.795000 51608.206000 8.589000 5152901 78.985193916636188
    PAGEIOLATCH_SH 6552.465000 6539.317000 13.148000 837744 10.026731002127728
    CXPACKET 6277.006000 4455.446000 1821.560000 2265795 9.605217374032790

  2. #62
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    N'oubliez pas de répondre à mes petites questions, je suis (quasiment) certain que le principal problème, c'est votre requête.

  3. #63
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Je crois en effet que la requete peut être grandement ameliorée
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    UPDATE P1 
    	SET MPA_NB_AGE_BALANCE = P3.D
    	FROM SBI_DWH.dbo.TM_PARC P1
    	INNER JOIN
    	(
    		SELECT P.MPA_FK_JOUR, P.[MPA_FK_CLIENT] C,datediff(d,convert(datetime,cast(Max(P2.MPA_FK_JOUR AS varchar(8)),112),convert(datetime,cast(P.MPA_FK_JOUR AS varchar(8)),112)) ) D
    		FROM 
    		SBI_DWh.dbo.TM_PARC P
    		INNER JOIN SBI_DWH.dbo.TM_PARC P2
    			ON P.MPA_FK_CLIENT = P2.MPA_FK_CLIENT 
    			AND P2.MPA_FK_JOUR <= P.MPA_FK_JOUR
    		WHERE ISNULL([MPA_MT_BALANCE_AGEE],0) = 0 AND P.MPA_FK_JOUR>@max_dt
    		GROUP BY
    		P.[MPA_FK_JOUR]
    		,P.[MPA_FK_CLIENT]
    		,P.[MPA_FK_CLIENT_HISTO]
    		,P.[MPA_FK_BU]
    		,P.[MPA_FK_CONTRAT]
    		,P.[MPA_FK_CONTRAT_HISTO]
    		,P.[MPA_FK_ANCIENNETE]
    		,P.[MPA_FK_ENGAGEMENT_RESTANT]
    		,P.[MPA_FK_TERMINAL]
    		,P.[MPA_FK_OPERATEUR_DONNEUR]
    		,P.[MPA_FK_STATUT_PORTAGE_IN]
    		,P.[MPA_FK_OPERATEUR_RECEVEUR]
    		,P.[MPA_FK_STATUT_PORTAGE_OUT]
    		,P.[MPA_FK_CONTRAT_ACTIF]
    		,P.[MPA_FK_CONTRAT_ACTIF_ARCEP]
    		,P.[MPA_FK_OFFRE]
    		,P.[MPA_FK_CANAL_VENTE]
    		,P.MPA_FK_JOUR_RELANCE
    		,p.[MPA_MT_BALANCE_AGEE]
    		,P.[MPA_NB_PLAN_RELANCE]
    	) P3
    	ON P1.[MPA_FK_CLIENT]=  P3.C
    	AND P1.MPA_FK_JOUR = P3.MPA_FK_JOUR
    	--MODIF POUR OPTIM
    	AND P1.MPA_FK_JOUR > @max_dt
    Si vous êtes en 2008 vous pouvez modifier celà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    datediff(d,convert(datetime,cast(Max(P2.MPA_FK_JOUR AS varchar(8)),112),convert(datetime,cast(P.MPA_FK_JOUR AS varchar(8)),112)) )
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    datediff(d,convert(date,Max(P2.MPA_FK_JOUR)),convert(date,P.MPA_FK_JOUR) )
    Si MPA_FK_JOUR est un datetime.


    Me trompes-je?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  4. #64
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Des avancées?
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  5. #65
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Bonjour,

    Après avoir découpé ma tempdb, et sorti ma table tm_parc sur un filegroup différent composé de 6 fichiers (3 data et 3 indexs) sur des vdisks différents, voici les résultats (sur du windows 2008 R2):

    03H15 avec tous les procs (4) et 01H16 avec 1 proc (affinity mask).

  6. #66
    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
    Pourriez vous préciser un peu votre découpage ?

    Nb de fichiers pour tempdb ... etc ...

    Concernant vos vdisks sont ils dans un meme vgroup ou des vgroup distincts ?

    Merci pour vos réponses

    ++

  7. #67
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    j'ai 3 fichiers data de tempdb de 16 Go chacun et 1 fichier log de tempdb.
    Chacun de ces fichiers est sur des vdisks différents.
    Tous ces fichiers, y compris ceux de ma BD, sont dans le même diskgroup.

  8. #68
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    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 756
    Points : 52 534
    Points
    52 534
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par davy.g Voir le message
    Bonjour,

    Après avoir découpé ma tempdb, et sorti ma table tm_parc sur un filegroup différent composé de 6 fichiers (3 data et 3 indexs) sur des vdisks différents, voici les résultats (sur du windows 2008 R2):

    03H15 avec tous les procs (4) et 01H16 avec 1 proc (affinity mask).
    Que de temps perdu... Regardez ce que je vous disait dans le post suivant :
    http://www.developpez.net/forums/d10...f/#post5802158

    Malheureusement la plupart de gens ne savent pas que pour une bonne parallélisation il faut que TOUTES LES RESSOURCES DU SERVEUR soit parallélisable, ce qui veut dire les CPU, la RAM et les fichiers et cela implique au minimum :
    1) autant d'axe physique différents (disques mécaniquement indépendants)
    2) RAM accessible sans verrouillage pour chaque CPU (NUMA).
    Bref, pendre un cours d'admin ou d'optimisation, c'est pas du temps perdu !!!

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

  9. #69
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Une fois votre architecture "physique" rationalisée pensez à refaire votre requête malgré tout...
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

  10. #70
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Que de temps perdu... Regardez ce que je vous disait dans le post suivant :
    http://www.developpez.net/forums/d10...f/#post5802158

    Malheureusement la plupart de gens ne savent pas que pour une bonne parallélisation il faut que TOUTES LES RESSOURCES DU SERVEUR soit parallélisable, ce qui veut dire les CPU, la RAM et les fichiers et cela implique au minimum :
    1) autant d'axe physique différents (disques mécaniquement indépendants)
    2) RAM accessible sans verrouillage pour chaque CPU (NUMA).
    Bref, pendre un cours d'admin ou d'optimisation, c'est pas du temps perdu !!!

    A +
    Mes fichiers sont bien sur des Lun différents. Je peux pas créer 32 fichiers pour ma base de données utilisateur.
    Numa est activé : mais je ne peux pas configurer mon serveur pour qu'il n'utilise qu'un CPU.
    En Prod 2005, ce traitement tourne en 01H15.
    Avec 3 procs sur 4, il met 03H00. et avec 1 proc, il met 01H16.

    Que faire d'autres ? Vous essayez de me faire comprendre qu'il me faut des diskgroups différents ?

  11. #71
    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
    Avec la configuration de davy.g il n'y aura pas de problèmes de parallélisation à mon avis.

    En effet, l'OS verra un disque distinct pour chaque vdisk mis à disposition.
    Chaque vdisk répartira la charge IO sur tous les spindles qui le compsent en fonction de la configuration VRAID implémentée.

    Un des soucis que je vois ici est que tous les vdisks sont sur le même diskgroup . Pour augmenter les performances il faudrait peut être au moins en avoir 2 (un qui isolera les datas et un qui isolera les logs) car les types d'opérations ne sont pas les mêmes par mature

    Moi je verrais bien ceci :

    1 diskgroup avec un Vdisk en VRAID5. Si votre stockage le permet il faut préférer une solution en VRAID10.

    1 diskgroup avec un Vdisk en VRAID1 pour vos journaux.

    Je pense que ca vaut le coup de tester mais pour cela il faudra également que vous établissiez une baseline des performances de vos systèmes disques pour chaque configuration ... histoire de pouvoir comparer

    03H15 avec tous les procs (4) et 01H16 avec 1 proc (affinity mask).
    Soyons positif vous êtes sur la bonne voie

    ++

  12. #72
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Merci pour vos réponses.
    Je vais voir si je peux jouer au niveau SAN.
    Par contre, il est hallucinant qu'en découpant tout, je ne puisse pas utiliser plus de procs que 1 et avoir des temps similaires à la Prod 2005.

  13. #73
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    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 756
    Points : 52 534
    Points
    52 534
    Billets dans le blog
    5
    Par défaut
    Vous aurez sans doute de meilleurs temps en faisant ce que vous dite Mikedavem, et en évitant autant que faire se peut le RAID 5 qui est une abomination pour les SGBDR.
    Essayez ensuite avec 2 CPU.
    Si vous arrivez à avoir 4 diskgroups dont 1 en RAID 10 pour les journaux et 3 en RAID 1 pour les data et index (2 pour data et 1 pour index) tentez progressivement de passer de 2 CPU à 3 CPU ou 4 et notez les gains obtenus.

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

  14. #74
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Bonjour à tous,

    Nous venons de constater un problème de controleur sur notre baie EVA.
    Je constate également que sur l'update en question, sur le serveur hébergeant SQL 2008R2, celui-ci génèrent beaucoup plus d'I/O sur ma tempdb jusqu'à la saturer, chose qui ne se produit pas sur le SQL 2005.
    Sur le serveur SQL 2005, ma tempdb fait 300Go et sur le serveur SQL 2008 elle fait 375Go.

  15. #75
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 756
    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 756
    Points : 52 534
    Points
    52 534
    Billets dans le blog
    5
    Par défaut
    Avez vous des transactions en mode d'isolation SNAPSHOT ???

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

  16. #76
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Non. Je n'ai pas ce type de transaction.

  17. #77
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2005
    Messages : 95
    Points : 88
    Points
    88
    Par défaut
    Bonjour,
    Avez-vous appliqué des "cumulatives update" à votre version sQL2008 R2.
    Il s'agit "peut-être" tout simplement d'un bug avec la RTM.

    Pour info, le dernier CU est le 6.

    Cdlt,

    Sébastien.
    DBA SQLServer, Oracle, Mysql, DB2, Postgresql

  18. #78
    Membre actif
    Inscrit en
    Novembre 2004
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 312
    Points : 202
    Points
    202
    Par défaut
    Comment télécharger ces CU svp ?

  19. #79
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    La dernière version se trouve ici.
    Alexandre Chemla - Consultant MS BI chez Masao

  20. #80
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2005
    Messages : 95
    Points : 88
    Points
    88
    DBA SQLServer, Oracle, Mysql, DB2, Postgresql

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2014, 13h19
  2. Réponses: 1
    Dernier message: 24/09/2010, 20h55
  3. SQL SERVER 2008 Express Problème version .Net Framework
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/08/2008, 17h43
  4. [INSTALLATION SQL SERVER 2008]Problème de comptes
    Par sarapis dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/08/2008, 17h02
  5. Problème lors de l'installation de SQL SERVER 2008
    Par MedSabri dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 19/03/2008, 11h55

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