Edition 2012 – 10 et 11 décembre
Rejoignez la Communauté
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
SQL SERVER : INFRASTRUCTURE
11 décembre 2012
Edition 2012 – 10 et 11 décembre
SOMMAIRE
David Barbarin
~10 ans expérience SQL Server
 Insentia SA
Blog : http://blog.d...
Edition 2012 – 10 et 11 décembre
SOMMAIRE
 Processeurs
 Mémoire
 Stockage
 Réseau
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
PROCESSEURS
Edition 2012 – 10 et 11 décembre
CACHES PROCESSEURS
 A quoi servent les caches ?
 Registres (< 64 bits)
 L1 cache : le ...
Edition 2012 – 10 et 11 décembre
CACHES PROCESSEURS
 Plus on s’éloigne des registres CPU plus la latence d’accès augmente...
Edition 2012 – 10 et 11 décembre
VITESSE, CŒURS ET HYPERTHREADING
 Loi de Moore : la vitesse des processeurs double tous ...
Edition 2012 – 10 et 11 décembre
VITESSE D’HORLOGE
Date
2002 Premier processeur hyperthreadé (Intel
Foster MP-based Xeon)
...
Edition 2012 – 10 et 11 décembre
TECHNOLOGIES TURBO BOOST / CORE
 Appelé également « dynamic overclocking»
 Technologie ...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
MÉMOIRE
Edition 2012 – 10 et 11 décembre
TYPES DE MEMOIRE
 Mémoires DDR2 vs DDR3
 Mémoires ECC et bénéfices pour les serveurs de...
Edition 2012 – 10 et 11 décembre
ARCHITECTURES 32 BITS ET 64 BITS
 Architecture 32 bits
 Chaque processus utilisateur a ...
Edition 2012 – 10 et 11 décembre
ARCHITECTURES 32 BITS ET 64 BITS
 Architecture 64 bits
 Chaque processus utilisateur a ...
Edition 2012 – 10 et 11 décembre
NUMA ARCHITECTURE
 Architecture classique (SMP)
Mémoire
principale
Cache Cache Cache
Pro...
Edition 2012 – 10 et 11 décembre
NUMA ARCHITECTURE
 Non Uniform Memory Access  plus évolutive lorsque le nombre de
proce...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
STOCKAGE
Edition 2012 – 10 et 11 décembre
DISQUES MECANIQUES
 Facteurs affectant les performances des disques mécaniques
 Temps d...
Edition 2012 – 10 et 11 décembre
DISQUES SSD / CARTES IO FUSION
 Suppression des latences du à la mécanique des têtes
 S...
Edition 2012 – 10 et 11 décembre
COMPARATIF DISQUES
Disque Interface IOPS
7200 rpm SATA 75-100 IOPS
10000 rpm SATA 125-50 ...
Edition 2012 – 10 et 11 décembre
RAID
 Tolérance de panne beaucoup plus élevé
 Augmentation des performances par combina...
Edition 2012 – 10 et 11 décembre
RAID
Edition 2012 – 10 et 11 décembre
DAS, SAN ET NAS
 DAS ( Direct Attache Storage)
 Concerne uniquement un serveur
 En gén...
Edition 2012 – 10 et 11 décembre
 SAN ( Stockage Area Network)
 Indépendant
 Extensible (disques, cache, contrôleurs …)...
Edition 2012 – 10 et 11 décembre
DAS, SAN ET NAS
Edition 2012 – 10 et 11 décembre
DAS, SAN ET NAS
 NAS
 Architecture moins coûteuse que les SAN
 Performance plus faible...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
Sponsors Platinum
RESEAU
Edition 2012 – 10 et 11 décembre
CARTES RÉSEAUX
 Cartes Ethernet gigabits
 Configuration manuelle vs auto détection (vit...
Edition 2012 – 10 et 11 décembre
DEMO
Edition 2012 – 10 et 11 décembre
EN RESUME
 Processeurs (vitesses, caches, architectures multicoeurs, multithreads)
 Mém...
Edition 2012 – 10 et 11 décembre
Merci à nos Sponsors
Rencontrez les dans l’espace partenaires
Sponsors Platinum
Sponsors ...
Edition 2012 – 10 et 11 décembre
Continuez l’expérience online
Rejoignez la Communauté
Prochain SlideShare
Chargement dans…5
×

SQL Server et infrastructure

459 vues

Publié le

JSS2012 - SQL Server et infrastructure

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
459
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
12
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Instruction : opération élémentaire qu’un processeur doit effectuer

    Les caches permettent de stocker des informations qui doivent être traités par le processeur (données + instructions) et réduisent les délais de transfert entre la mémoire vive et les processeurs
  • Pour les disques :
    Latence d’accès millisecondes pour les disques mécaniques / micro secondes pour les disques SSD

    Par expérience le choix des processeurs se fait uniquement à l’achat d’un serveur et n’évolue pas ou peu au cours du temps
  • Problème : plus la vitesse augmente plus la consommation d’énergie et la dissipation de chaleur sont importante  refroidissement par eau (onéreux) ou ventilateurs (nuisance sonore)

    > Multi cœur et hyperthreading permettent d’avoir une puissance de calcul équivalente voir meilleure avec une consommation d’énergie et une dissipation de chaleur moindre

    Quid:
    -------
    SQL Server  pattern d’utilisateur multithreads pour traiter les différentes tâches
     Les invalidations de cache se font depuis la mémoire principale

    Processeur n cœur : Intel  partage du cache L2 et modification dans cache L1
    AMD  partage dans cache L3

     Invalidation des caches beaucoup plus rapide dans le cas des architectures multi-cœurs et multi-threads

  • Intel Xeon Phi Coprocesseurs  pour les applications massivement parallèle (> 100 thread)
  • DDR2 : Tension 1.8V – 800 Mhz
    DDR3 : Tension 1.5V – 1333MHz  2000 MHz (requis par les processeurs actuels)
    Slots différents entre les 2

    ECC = Error Correction Code Memory
    Ce type de mémoire peut détecter et réparer la corruption d’octets en mémoire sans avoir à redémarrer le système

    CAS (Column Address Strube) ou latence (en nanosecondes pour les mémoires asynchrones et cycle d’horloges pour les mémoires synchrones) définit le temps d’accès à une colonne. Information à prendre en compte lors du choix de la RAM.
  • VAS = Virtual Address Space

    Espace mémoire virtuelle utilisable par un processus. Un
    Mécanisme de mapping va translater l’adresse virtuelle en adresse physique
    Une adresse physique peut concerner la mémoire volatile (RAM) ou non volatile (disque)


    3GB = réserver 3GB de mémoire pour les processus utilisateurs
    USERVA permet d’allouer manuellement la quantité de mémoire adressable aux processus utilisateurs
  • Plus d’espace alloué aux caches autre que le buffer pool (cache des procédures, mémoire de travail (GROUP BY, SORT, reconstruction d’index), connexions, locks, threads, CLR etc …  Polution du cache

    CPI = Cost Per Instruction
    (une même donnée occupe plus d’espace)  La plage de travail SQL Server en 64 bits prendra plus de place dans les caches L2, L3 qui seront utilisés moins efficacement
  • SMP :

    Une mémoire principale partagée par l’ensemble des processeurs
    Les caches processeurs permettent une meilleure gestion d’accès à la mémoire (algorithme qui permet d’éviter le cache missing)
    Nouvelles applications et systèmes d’exploitation devant plus gourmands, les caches processeurs ne suffisent plus  devient le bottleneck dans une telle architecture. Les latences d’accès à la mémoire augmentent (malgré l’accroissement des caches L3)
    SMP prévue pour des architectures jusqu’à 8 processeurs  passage à NUMA au-delà

  • NUMA :

    Node : Bloc de mémoire, processeur(s), IO physiquement sur le même bus de mémoire
    ccNUMA : Gestion de la cohérence des caches

    Mémoire locale et mémoire distante :
    Mémoire locale  même nœud que le processeur
    Mémoire distante  mémoire physique réside sur un nœud différent  accès à la mémoire beaucoup plus lente (distance ou NUMA ratio qui doit être le plus petit possible)

    Soft numa pour SQL Server :
    Permet de grouper un ensemble de processeurs en nœud
    Bénéfique pour augmenter le nombre de threads de traitement des I/O et Lazywriter.
    Seules les schedulers et SNI (SQL Server Network Interfaces) sont soft-num aware.

  • Seek time :

    Le temps de recherche de la tête pour trouver une donnée. Ce temps affecte le nombre d’entrées / sorties par seconde pouvant être traités (IOPS)  RANDOM

    Rotational Latency :

    Le temps nécessaire à la rotation des disques pour que la donnée soit lue. Ce temps affecte la quantité de données que peut lire le disque par seconde (Débit Mo/s)  SEQUENTIAL

    Interfaces et bandes passants :

    SATA 3  6GB/s
    SAS (Serial Attached SCSI)  mode de transmission en série vs scsci parallèle
    SAS  3GB/s, 6GB/s, 12GB/s
    SAS gère mieux le fullduplex que SATA (deux commandes en même temps)
  • SSD : Solid State Drive
    Plus de mécanique  suppression des latences de rotation et temps de recherche.
    La recherche de données se fait par recherche dans les cellules des mémoires flash
    Très bonne performance entre lecture aléatoire / séquentielle mais performance tombe lorsqu’il s’agit d’écriture
    En général les performances sont annoncés pour des blocs de 4K avec cache activé

    Support de la commande SATA : TRIM (Permet au système d’exploitation de notifier le disque SSD qu’un bloc n’est plus utilisé. Les écritures ultérieures peuvent être optimisées sans avoir à effectuer un effacement préalable (disponible à partir de Windows 7 et Windows Server 2008 R2)

    Over provisionning (permet de pouvoir réserver un espace supplémentaire pour le garbage collector)
    Wear leveling (permet de répartir équitablement l’écriture des pages dans les blocs)
    Garbage collection (pemet en tâche de fond d’effacer les pages de données non utilisées)


    Fusion IO :
    Même concept que les disques SSD. Les cartes Fusion IO se branchent sur des slots PCIe. (6GB/s)



    TRIM:
    Les disques SSD ne savent pas quels objets du système d’exploitation sont effacés.
    L’écriture des données dans les mémoires flash se font par page. Les pages sont regroupés par bloc de 512Ko.
    L’écriture se fait par page mais l’effacement des données se fait par bloc
    Avant de pouvoir réécrire sur un bloc déjà utilisé, un effacement de celui-ci est nécessaire  SSD performant au début de son cycle de vie et les performances tombent par la suite
    TRIM est une commande qui ne peut pas être mis en attente (NCQ). Les opérations TRIM peuvent se faire par batch pour optimiser les opérations de suppression,

    Evite le phénomène d’écriture amplifiée avec des charges de travail OLTP (petites écritures aléatoires) qui nécessitent l’écriture de quelques pages mais l’effacement par bloc

    TRIM n’est efficace que s’il existe suffisamment d’espace libre sur disque




  • Contrôleur raid : taille des chunks, cache en lecture / écriture …
  • RAID :
    Raid permet de pouvoir augmenter la tolérance aux pannes et d’augmenter les performances IO du stockage (IOPS, débit)

    RAID1 :
    Minimum 2 disques  plus si contrôleur le supporte mais n’apporte pas vraiment de performance supplémentaire
    Pas de gestion de parité
    Données dupliqués
    50% espace disque en moins

    RAID 5+1 :
    Minimum 3 disques
    Gestion de parité
    1/3 de l’espace perdu pour le stockage de parité
    - Variante RAID 6+2

    RAID 10
    Minimum 4 disques
    Disques mirrorés et ensuite strippés
    50% espace disque en moins
  • Un serveur avec un ou plusieurs contrôleurs raid
    Plusieurs bases de disques 2 pouces ½ au lieu de 3 pouces ½  Serveurs Blades 2 à 5 baies / Serveurs à racks peuvent en avoir beaucoup plus (dépend de leur hauteur)


  • Protection : Zoning

    Fibre Channel vs SCSI
    FC = 2.4. 8 et 16GB/s

    Concepts annexes

    Automatique tiering, déduplication des données





  • Cartes HBA :
    FC vs iSCSI (qui se démocratise)
    Plusieurs cartes HBA  redondance, performance

    Fabriques :
    Redondant également et pas connecté sur le même sous-réseau




  • SAN : fonctionne au niveau bloc de données

    NAS : fonctionne au niveau système de fichiers

    L'inconvénient de cette configuration est que toutes les e/s de fichier est traité par le biais de la pile réseau et est soumis aux limitations de la bande passante du réseau lui-même. Cela peut engendrer des performances et des problèmes de fiabilité de données, en particulier dans les programmes qui requièrent des niveaux extrêmement élevés de fichier e/s, telles que SQL Server
  • Jumbo frames :
    MTU de 1500  MTU de 9000
    Beaucoup mois de traitement CPU pour couper et réassembler les paquets réseaux
    Nécessite à ce que l’ensemble des composants réseaux supportent ce type de paramétrage
  • SQL Server et infrastructure

    1. 1. Edition 2012 – 10 et 11 décembre Rejoignez la Communauté
    2. 2. Edition 2012 – 10 et 11 décembre Sponsors Platinum SQL SERVER : INFRASTRUCTURE 11 décembre 2012
    3. 3. Edition 2012 – 10 et 11 décembre SOMMAIRE David Barbarin ~10 ans expérience SQL Server  Insentia SA Blog : http://blog.developpez.com/mikedavem/ Twitter : @mikedavem Conseil et formation oArchitecture système et Bases de Données oHaute disponibilité oPerformance et optimisation oSécurité
    4. 4. Edition 2012 – 10 et 11 décembre SOMMAIRE  Processeurs  Mémoire  Stockage  Réseau
    5. 5. Edition 2012 – 10 et 11 décembre Sponsors Platinum PROCESSEURS
    6. 6. Edition 2012 – 10 et 11 décembre CACHES PROCESSEURS  A quoi servent les caches ?  Registres (< 64 bits)  L1 cache : le plus petit mais le plus rapide des caches  L2 cache … L3 cache : peuvent accueillir plus de données mais leurs accès est beaucoup plus lent
    7. 7. Edition 2012 – 10 et 11 décembre CACHES PROCESSEURS  Plus on s’éloigne des registres CPU plus la latence d’accès augmente  L1 cache = 1 billionième de seconde (1000 milliards)  Disques = 1 millième de seconde (cas le plus défavorable)  Les performances d’un serveur de bases données sont étroitement liées aux tailles de cache des processeurs 2ns 4ns 6ns 50ns us / ms Registre L1 cache L2 cache L3 cache RAM Disques 32KB 256KB 12MB 64GB TB
    8. 8. Edition 2012 – 10 et 11 décembre VITESSE, CŒURS ET HYPERTHREADING  Loi de Moore : la vitesse des processeurs double tous les 18 / 24 mois  La course à la vitesse d’horloge est terminée  Place à la fragmentation des puces (multi-cœurs) ou utilisation l’hyper-threading (fragmentation logique)  Les processeurs multi-cœurs ou hyper-threadés vs processeurs mono-cœurs  Sockets physique, cœurs physique et cœurs logique importante  Devenu important en terme de licence avec SQL Server 2012  Quid : Un processeur avec n cœurs ou plusieurs processeurs physiques avec SQL Server ?
    9. 9. Edition 2012 – 10 et 11 décembre VITESSE D’HORLOGE Date 2002 Premier processeur hyperthreadé (Intel Foster MP-based Xeon) 2005 Premier processeur dual core (AMD x64)  Meilleure performance que l’hyperthreading 2006 Premier Core2 (quadcore) par Intel … Aujourd’hui AMD opteron 6xxx  16 cœurs Intel Xeon E7 , Nehalem-EX  10 cœurs hyperthreadés  20 cœurs Demain Intel Xeon Phi Coprocesseurs
    10. 10. Edition 2012 – 10 et 11 décembre TECHNOLOGIES TURBO BOOST / CORE  Appelé également « dynamic overclocking»  Technologie embarquée dans certaines versions d'Intel (Nehalem, Sandy- Bridge et Ivy-Bridge) et AMD (Phenom II X6)  Permet aux processeurs d’augmenter dynamiquement leurs fréquences d’horloges au-delà de la fréquence nominale  Contrôle possible depuis le système d’exploitation via ACPI. Activation dans le bios également.  Vitesse limitée par la puissance du processeurs, ses limites thermiques (TDP), le nombre de cœurs et les fréquences max
    11. 11. Edition 2012 – 10 et 11 décembre DEMO
    12. 12. Edition 2012 – 10 et 11 décembre Sponsors Platinum MÉMOIRE
    13. 13. Edition 2012 – 10 et 11 décembre TYPES DE MEMOIRE  Mémoires DDR2 vs DDR3  Mémoires ECC et bénéfices pour les serveurs de bases de données  CAS (Column Address Strube) ou latence Exemple : DDR3 2000MHz CAS 10, DDR3 1600 MHz CAS 8 et DDR3 1333 MHz CAS 6 ont exactement les mêmes performances. Calcul = 10 * 1 / (2000000000/2) = 8 * 1 / (1600000000/2) = 6 * 1/ (1333000000/2) = 0.000000010 soit 10ns  Architectures multicanaux  Quid : Une seule DIMM de grosse capacité ou plusieurs DIMM ?
    14. 14. Edition 2012 – 10 et 11 décembre ARCHITECTURES 32 BITS ET 64 BITS  Architecture 32 bits  Chaque processus utilisateur a accès à 2Go d’espace d’adressage virtuel (2 Go étant réservé aux processus systèmes)  Possibilité d’étendre l’espace d’adressage en utilisant les switch 3GB, USERVA ou PAE (+ AWE) dans le boot.ini  Pour SQL Server  l’ensemble des caches + buffer pool doivent cohabiter dans un espace de 2Go.  L’option –g permet de réserver et de garantir une certaine quantité de mémoire au démarrage de l’instance pour les pages qui ne concernent pas le buffer pool (> 256 MB par défaut)
    15. 15. Edition 2012 – 10 et 11 décembre ARCHITECTURES 32 BITS ET 64 BITS  Architecture 64 bits  Chaque processus utilisateur a accès un espace d’adressage virtuel beaucoup plus grand (> To)  Architecture plus évolutive  Plus d’espace alloué aux différents caches SQL Server  Pollution des caches possible en fonction du type d’activité  CPI plus important en 64 bits
    16. 16. Edition 2012 – 10 et 11 décembre NUMA ARCHITECTURE  Architecture classique (SMP) Mémoire principale Cache Cache Cache Processeur Processeur Processeur I/O Bus système
    17. 17. Edition 2012 – 10 et 11 décembre NUMA ARCHITECTURE  Non Uniform Memory Access  plus évolutive lorsque le nombre de processeurs devient important Processeur Processeur Processeur Processeur Mémoire principale Mémoire principale Node Node Bus système Bus système I/O I/O ccNUMA ccNUMA
    18. 18. Edition 2012 – 10 et 11 décembre DEMO
    19. 19. Edition 2012 – 10 et 11 décembre Sponsors Platinum STOCKAGE
    20. 20. Edition 2012 – 10 et 11 décembre DISQUES MECANIQUES  Facteurs affectant les performances des disques mécaniques  Temps de recherche (Seek time)  (IOPS)  RANDOM  Latence de rotation (Rotational Latency)  (Débit Mo/s)  SEQUENTIAL  Interfaces et bandes passante (Mo/s)  SATA, SAS, SCSI
    21. 21. Edition 2012 – 10 et 11 décembre DISQUES SSD / CARTES IO FUSION  Suppression des latences du à la mécanique des têtes  Support de la commande TRIM  Interfaces (SAS, SATA)  Over provisionning, Wear leveling, garbage collection …  et les Cartes IO / Fusion ?  tolérance aux pannes, durée de vie ?  Le coût est encore un frein !  Quels éléments de bases de données à héberger sur ce type de stockage ? Tout dépend !! (architecture, budget …)
    22. 22. Edition 2012 – 10 et 11 décembre COMPARATIF DISQUES Disque Interface IOPS 7200 rpm SATA 75-100 IOPS 10000 rpm SATA 125-50 IOPS 10000 rpm SAS 140 IOPS 15000 rpm SAS 175-210 IOPS Intel X25-M G2 (MLC) SATA 3.3Go/s 8600 IOPS OCZ Vertex 4 SATA 8Go/s 120000 IOPS Fusion-io ioDrive PCIe 140000 Read IOPS, 135000 Write IOPS OCZ 2x SuperScale Z-Drive R4 PCI-Express SSD PCIe 1200000 IOPS
    23. 23. Edition 2012 – 10 et 11 décembre RAID  Tolérance de panne beaucoup plus élevé  Augmentation des performances par combinaisons de disques  Grappe  Choix du type de grappe important en fonction de l’utilisation, du nombre disques, de contrôleurs etc.  RAID 1, RAID5, RAID6, RAID 10  Paramétrage du contrôleur RAID
    24. 24. Edition 2012 – 10 et 11 décembre RAID
    25. 25. Edition 2012 – 10 et 11 décembre DAS, SAN ET NAS  DAS ( Direct Attache Storage)  Concerne uniquement un serveur  En général un ou plusieurs contrôleurs RAID  Un nombre de disques limité  Une quantité de cache limitée  Une protection limitée
    26. 26. Edition 2012 – 10 et 11 décembre  SAN ( Stockage Area Network)  Indépendant  Extensible (disques, cache, contrôleurs …)  Bonne isolation des données  FC vs iSCSI  Connectique plus complexe (HBA, Fabriques, Contrôleurs, disques)  Architecture coûteuse  Virtualisation du stockage  Virtualisation des niveaux de RAID  Virtualisation des baies de stockage DAS, SAN ET NAS
    27. 27. Edition 2012 – 10 et 11 décembre DAS, SAN ET NAS
    28. 28. Edition 2012 – 10 et 11 décembre DAS, SAN ET NAS  NAS  Architecture moins coûteuse que les SAN  Performance plus faible  Utilisation du trace flag 1807  Reconsidération des NAS avec SQL Server 2012 et Windows 2012 et SMB 3.0 + pool de stockage
    29. 29. Edition 2012 – 10 et 11 décembre DEMO
    30. 30. Edition 2012 – 10 et 11 décembre Sponsors Platinum RESEAU
    31. 31. Edition 2012 – 10 et 11 décembre CARTES RÉSEAUX  Cartes Ethernet gigabits  Configuration manuelle vs auto détection (vitesse, full duplex …)  NIC teaming (tolérance de pannes, performances)  avec Windows Server 2012 possibilité de gérer le teaming depuis le système d’exploitation  Ajout de cartes réseaux pour séparer les types de trafic (application, maintenance …)  Utilisation des jumbo frames  Consolidation et virtualisation
    32. 32. Edition 2012 – 10 et 11 décembre DEMO
    33. 33. Edition 2012 – 10 et 11 décembre EN RESUME  Processeurs (vitesses, caches, architectures multicoeurs, multithreads)  Mémoire (vitesse d’horloge, latences, architectures NUMA)  Stockage (DAS, SAN, NAS, disques mécaniques, à mémoire flash)  Réseau (paramétrage, NIC Teaming, cartes dédiées)
    34. 34. Edition 2012 – 10 et 11 décembre Merci à nos Sponsors Rencontrez les dans l’espace partenaires Sponsors Platinum Sponsors Gold Sponsors Silver
    35. 35. Edition 2012 – 10 et 11 décembre Continuez l’expérience online Rejoignez la Communauté

    ×