La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction Architectures des serveurs Windows et NUMA SQL Server 2005 et NUMA Consolidation et performance Stockage et performance.

Présentations similaires


Présentation au sujet: "Introduction Architectures des serveurs Windows et NUMA SQL Server 2005 et NUMA Consolidation et performance Stockage et performance."— Transcription de la présentation:

1

2 Introduction Architectures des serveurs Windows et NUMA SQL Server 2005 et NUMA Consolidation et performance Stockage et performance

3 WIE – équipe darchitectes seniors qui travaille avec Microsoft depuis plus de 10 ans: Optimisation du noyau pour les architectures Itanium Optimisation de la génération du code pour les compilateurs Itanium Etude des futures architectures Accès aux codes sources de Windows WIE - équipe responsable de la Performance et Benchmark sur le campus Microsoft En charge de la publication des benchmarks Windows / SQL Participation au travail damélioration des capacités de Scale-Up de Windows Accès aux codes source de Microsoft SQL en vue daméliorer la scalabilité de SQL sur les serveurs hauts de gamme

4

5 Pour les configurations High-End le serveur et le stockage ne peuvent plus être considérés comme des boites noires Serveurs: Symmetric Multi Processing Non Uniform Memory Access Architecture (Bus I/O, FSB, …) Stockage:ContrôleursCache Nombre de disques Virtualisation

6 Symmetric Multi Processor Non Uniform Memory Access Memoire interleave Memoire locale CP U Memor y Controller CP U Memor y CP U Memor y CP U Mem ory CP U Mem ory CP U NODE CELL CROSS BAR HYPER TRANSPORT CPU/MEM CP U Memo ry

7 Cell (4P/Mem/IO) Complexe de Superdome Partition 1 XBar Cell (4P/Mem/IO) CPU Memory Cell / Memory Controller Cell To XBar Accès à la mémoire locale: de meilleurs temps de latence quand le processor accède à la mémoire de la cellule. Accès à la mémoire distante: Les temps de latence sont supérieurs quand un processeur accède à la mémoire disponible dans une cellule différente.

8 Noeud ou cellule Stockage Partition Chassis I/O Complexe CrossBar

9 La table ACPI SRAT définit les attributs NUMA du serveur. Relation {Processeur:Noeud} membership Relation {Mémoire:Noeud} membership Note: pas daffinité pour les E/S {I/O:Node} NT user mode NUMA APIs GetNumaHighestNodeNumber GetNumaProcessorNode pour un processeur donné GetNumaNodeProcessorMask pour un nœud donné GetNumaAvailableMemory pour un nœud donné

10 for (i=0; i< ;i++) { malloc( ); } Cell 0 Cell 1 GetNumaAvailableMemory

11 Windows 2003 (32 et 64bit) est NUMA aware NUMA API SQL Server 2005 and NUMA Détection du mode NUMA dans lErrorlog Un buffer cache par nœud (cellule) Une thread Lazywriter par nœud (cellule) Affinité Client/nœud : un client peut être associé à un nœud (cellule) Affinité des threads à un nœud Répartition de la charge sur les processeurs du nœud SuperLatches: validé automatiquement sur les serveurs à plus de 32 processeurs SQL recopie une page sur tous les nœuds NUMA (après y avoir accède un certain nombre de fois) Cell (4P/Mem/IO) Superdome Complex Partition 1 XBar Partition

12 Un serveur dapplication peut être associé à un groupe de processeurs en fonction du port TCP/IP utilisé. Serveurs dapplication Serveur de base de données IP 1/portIP 2/portIP 3/port Noeud Stockage Partition SQL

13 ERRORLOG :10:02.86 Server Server is listening on [ 'any' 2002] :10:02.86 Server Server is listening on [ 'any' 2001] :10:02.86 Server Server is listening on [ 'any' 2000] Port Masque

14 Partition Cellule Moteur SQL Server 2005 SQL Listeners Noeud logique Checkpoint Reporting

15 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node0] "CpuMask"=hex:03 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node1] "CpuMask"=hex:0c [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node2] "CpuMask"=hex:30

16 Pour chaque Soft node, SQL crée un I/O completion port pour gérer les E/S réseaux Disponible également sur serveur SMP Les Soft Nodes sont définies au niveau du serveur (pas de linstance) Un Soft Node ne peut pas être défini sur plusieurs Hard Nodes Un « Soft Node » considère locale la mémoire disponible dans le « Hard Node »

17 Affinité de processeur (CPU Affinity) Moyen de contrôler le nombre de processeurs (thread) assigné à SQL Server SQL Server 2005 supporte lajout et la suppression de processeur en ligne Utiliser des processeurs Appartenant au même nœud pour éviter laccès à la mémoire distante Appartenant au même « chip » (processeur à plusieurs cœurs) Limiter la mémoire (max memory) à la mémoire disponible dans les nœuds choisis Attention à lénumeration des threads

18 Le Buffer Pool peut utiliser des foreign pages. La mémoire distante peut être utilisée si la mémoire local est non disponible. Attention le CPU affinity ne limite pas lutilisation de la mémoire aux nœuds spécifiés Max server doit être configuré SQL Instance Database server Noeud Partition SQL 16 Gb Max server memory : 16Gb

19 SQL Server Buffer Node counters Database pages Number of pages in the buffer pool on this node with database content. Foreign pages Number of pages that come from a different NUMA node. Free pages Total number of free pages on this node. Page life expectancy Number of seconds a page will stay in the buffer pool on this node without references. Stolen pages Number of pages used for miscellaneous server purposes (stolen from the buffer pool) on this node. Target pages Ideal number of pages in the buffer pool on this node. Total pages Total number of committed pages in the buffer pool on this node. Seulement disponible avec le HardNUMA

20 Environnement de test Configuration du serveur 4 Cellules (Nœuds) – 32 cœur – HT on (64 threads) 128 Gb (32 Gb par nœud) Base de données de tests Le chargement de la table est forcé dans la mémoire de la cellule 0. Requête: « select (count(*)) from table » Requête: « select (count(*)) from table »

21 Manufacturing Instance Marketing Instance Payroll Instance Manufacturing DB Marketing DB Payroll DB Windows 2003 Server (64P) Enterprise Storage & Backup Scenario 3: Consolidation de serveurs Plusieurs instances de lOS, plusieurs instances de SQL - Même modèle que le scenario 1 avec option de repartionnement des ressources. Scenario 2: Consolidation dinstance SQL Une instance de lOS, plusieurs instances de SQL - Plus de souplesse et de contrôle des ressources CPUs et mémoires. Operations de maintenance effectuées par instance Scenario 1: Consolidation de bases de donnees Une instance de lOS, une instance de SQL, plusieurs bases de donnees - Utilisation maximale des ressources SQL 2005 Server Windows 2003 Server (64P) Payroll Server Marketing Server Manufacturing Server Windows 2003 Server (24P) Windows (8P) Windows 2003 Server (32P) Isolation Utilisation

22 Ajout de mémoire à chaud La modification des paramètres mémoire ne nécessite plus un redémarrage de linstance Ajout et suppression de processeurs (CPU Affinity) à la volée Support du Multi-instances: jusqua 50 (24 avec MSCS) Windows System Resource Manager (Microsoft) Pay Per Use (HP Integrity)

23 Limiter le nombre dinstances Une instance par profil de charge OLTP – OLAP « Max degree of parallelism » Windows System Resource Manager Affinité de CPU (Attention aux licences) « Lock pages in memory » pour éviter le page out Configurer Max Memory pour laisser suffisamment de mémoire pour Windows (1 to 4 GB)

24 Un composant essentiel Une histoire de compromis : Performance, Redondance et Cout Performance Haute disponibilité Cout

25 A consider pour la configuration du stockage Profile des I/Os Aléatoire ou séquentiel Taux daccès simultanés Surtout pour le transactionnel Débit Transaction Log Backup & Restore Microsoft SQL Server database – Accès aléatoire en lecture écriture 8KB Aléatoire pour les data files (8KB par I/O) Séquentiel pour les Transaction Logs (taille des I/Os variable)

26 Un charge I/O se caractérise: Ratio Lecture/Ecriture Ratio Accès séquentiel/Accès aléatoire La taille des block transférés Il y a quelques grandes familles de profils de charge On connait les capacités de notre stockage (ou on les mesure!!!)

27 Dimensionner avec une approche performance et non capacité DB I/O pattern, Log replay, TempDB, Snapshot, Backup Isoler les « Database files » et les « Transaction Log » Eviter les profiles d accès aléatoires et séquentiels sur le même group daxes Utiliser plusieurs « SQL data files » et striper avec les « file groups » Paramétrage des drivers HBA (la valeur par default du « Queue Length » est trop basse) Attention si lunité de stockage est partagé Eviter le RAID 5

28 TotalIOPS = 1/[1 –( RaidPenatly- 1/RaidPenalty*PercentRead) ] * (NumberOfDisks / RAIDPenalty) * DriveMaxIOPS Exemple: Disk Group de 116 disques 15K (VRAID-1) Read/Write: Total IOPS = 1/[1 – ¼ ] * (116 / 2) * 170 IOPs Total IOPS =13,147 pour le « disk group « Total IOPS =13,147 pour le « disk group « Ou une moyenne de 113 IOPS par disque. Attention 170 <> 113 ;-) RAID 1: RaidPenalty=2

29 EVA virtualization concept Disk Group Enterprise Virtual Array vdisk2 Vdisk 1 (Vraid 1) Vdisk 2 (Vraid 5) vdisk1 SAN Les disques physiques sont organisés dans des pools Disk Groups Les Virtual Disks sont caractérisés par: Un « Disk Group » Une taille (GB) Un niveau de RAID Un Virtual Disk (Vdisk) est présenté à un serveur en tant que LUN

30 30 Extension dun volume en ligne Symptômes possible: Le nombre insuffisant daxes limite le nombre dI/O Plus despace disponible VRAID 0 + Solution: … ajouter des disques VRAID 0 VRAID 1 VRAID 5 VRAID 0 VRAID 1 VRAID 5 Free space ( virtual space = 4 Disk)

31 SQL & Storage Best Practices Utiliser des configurations simples Avoir une bonne connaissance de la charge Sizing Utiliser les outils fournis par les vendeurs Qualifier, tester et valider SQLIOSQLIOSim

32 La couche de gestion du stockage a connaissance de larchitecture NUMA Affinité dinterruption. Les pilotes des HBA pourront spécifier les CPUs à utiliser pour la gestion des interruptions.. Amélioration des APIs NUMA notamment pour lallocation de mémoire dans un nœud spécifié -VirtualAllocExNuma - I/O chassis Node

33 SQL Server 2005 est prêt pour les solutions dentreprise SQL Server 2005 est le moteur de base de données le plus performant sur serveurs HP (TPC-C) HP est très impliqué dans le tuning et loptimisation de SQL Server 2005 sur les serveurs high end Avoir une bonne connaissance du hardware est recommandée pour le tuning avancé

34 ©2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Télécharger ppt "Introduction Architectures des serveurs Windows et NUMA SQL Server 2005 et NUMA Consolidation et performance Stockage et performance."

Présentations similaires


Annonces Google