Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long, en fait ça me faisait penser au nom d un certain projet gouvernemental je me suis dit que le langage SQL était sans doute assez concis pour me permettre de faire mieux. Pour ceux qui connaissent le langage SQL un peu, vous reconnaissez les fonctions MAX() et MIN(). Ça veut donc dire amener votre serveur SQL au maximum avec un minimum d efforts. On peut penser à de plus grands maximum mais ça ne serait pas aussi économique que ce que cette présentation propose c Société GRICS 1
Maximiser la valeur de notre investissement sur SQL Server c est fait de maximums et de minimums. On veut plus de certaines choses et moins de certaines autres. énumérer Donc on va entrer dans le vif du sujet avec le premier Max, la performance. 2
On a tous expérimenté des gains de performance dus à l évolution matérielle >>> Sondage qui sont ceux qui sont des responsables de l informatique, des technologues comme moi? La réseautique a eu des gains récemment mais ça a pris du temps si on étale ça sur le nombre d années En ce qui concerne les disques, gros gains du côté des «GoTo» Go-To, mais pas beaucoup du côté des IOPS Encore un acronyme, IOPS c est quoi ça. 3
IOPS ça veut dire Input/Output par seconde. Ça dépend du taux de transfert, mais aussi des latences (causés souvent par accès simultanés). Pas confondre taux de transfert et latence. Le taux de transfert peut être giga comme un coup de canon, mais si c est aussi long à recharger qu un canon ça veut pas dire grand-chose. (Aparté sur les SSD qui font démarrer nos portables si rapidement. C est surtout dû à leur faible latence lecture simultanées. Pas bon sur SQL Serveur car SSD supportent mal gros volumes en écriture. Pas très utile finalement parce que de la mémoire RAM attribuée à SQL règle la question des latences. Donc a beaucoup de stockage, donc on doit parcourir plus de données, donc on perd nos faibles gains en terme d IOPS. Qu es-ce qu on doit s occuper en ordre de priorité (animer) pour minimiser les attentes et avec un minimum d efforts accélérer au max SQL Server. 4
IOPS maximum pour Tempdb si on la met en Ram. Pas de telle option au niveau SQL On doit utiliser un artifice, disque dur volatil émulé en RAM au moyen d un pilote/service windows Met des fichiers de TempDb en Ram, bon pour log (4K) mais aussi pour data pcq peu données en cache, objets fujitifs nouvellement crées 5
Minimum d effort de config StarWind software Cie spécialisée en solution logicielles de stockage 6
Produits qui ont reçus des prix et qui inspirent confiance SAN logiciel accessible en iscsi. Plate-forme VMWare, Hyper-V, Windows Server, supporte déduplication, stockage haute disponibilité, image disque, ram disque (au travers ISCSI) 7
Dans management Studio, propriétés de TempDb, fichiers, bouton ajouter fichier. Garder le taille des fichiers disques petite. Faire commande réduction de chaque fichiers sur disque dur, via interface graphique; tâches / réduire / option fichier, mais au lieu de l exécuter, cliquer sur bouton script La faire exécuter périodiquement par Agent SQL, tâche récurrente au 15 minutes.. Garde fichier sur disque, plus simple à démarrer, permet dépassement capacité tempdb,pcq mémoire plus limitée que disques. 8
Log divisé en section écrites de manière séquentielle en round robin quand sections deviennent libres (backup log) 9
LUN, dédier disque uniquement à logs SQL, Raid-1 pour protection et vitesse écriture. Énumérer. Mettre attention sur. 10
Une autre façon de contourner les problème d IOPS est d en diminuer le besoin, facile avec sauvegardes. -- Propriétés du serveur, page base de données, compresser sauvegardes 11
12
Communication client-serveur le client pouvant être une app windows ou application Web sur IIS Pas se fier au graphique Windows, carte pas saturée, latence ailleurs dans le réseau Cas vécu, résultats 13
Win2012 NIC-Teaming (carte réseau redondance et partage de la charge) et Cartes+intelligentes qui déchargent le CPU du transfert Agilité sur le stockage demande de la réseautique performante. SMB 3.0 très rapide! Bon pour backup Le plus agile : fichier accédés au travers partage réseau 14
15
Comparer de manière périodique 16
Disponibilité et relève du serveur SQL en cas de pannes, différentes approches 17
Confusion entre Haute disponibilité et Relève On trouve souvent une des deux favorisée une au détriment de l autre Étalonner par rapport à l ampleur de la cause vs niveau de service à restaurer 18
Jamais Jamais commencer par la fin. 19
Relève intégrée au processus de backup, restaure sur serveur de relève possible 3 actions simples: Créer user remote, mirroring.addserver, ajout/modifier paramètre maintenance. Environnements hétéroclites = serveurs dissemblables au niveau des disques Ne nuit pas aux solutions de haute disponibilité N empêche pas les autres types de backups non-supportés par YourSqlDba (Ex: différentiel), même en relève 20
Protection de la «fonction SQL» instance en production sur un nœud et en relève sur une autre Pas une protection du stockage Expertise à l installation (relativement facile une fois compris) Panne = perte de connexion et de transaction courante, toutefois reconnexion transparente après basculement, paraît presque pas sur application Web Reflexe usager, essaie au moins une fois de se reconnecter, si marche pas il appelle. Donc indisponibilité courte sauve beaucoup appels 21
Configuration cluster de service SQL 22
Protège un groupe de BD en cas d inaccessibilité (stockage, ou panne serveur) Similaire au cluster, mais pas besoin de gérer les disques, plus simple. Duplication grp BD, (donc besoin +espace disque), pas considérer comme sauvegarde Protection du stockage implique aussi support indépendants 23
Plus d une relève, une proche mode synchrone, l autre plus distante mode asynchrone (peut perdre quelques transactions). Basculement automatique d un serveur à l autre si replica en mode synchrone. Applicatif: basculement transparent, perd juste transaction pas finie. Même source de données, reconnexion auto surtout pour les apps Web. Pour apps windows au moins une erreur de connexion, mais l app redémarre sans problème. 24
SQL Server management Studio plus aisé que Cluster manager. Cluster ne requiert que l ajout de nœud, pas de notion de relève du service SQL. Pas de gestions de disques partagé sinon la base (quorum). Beauté: Distribution de la charge! Mais demande licence supplémentaire dans la majorité des cas sauf 1 25
Bonne démos et explication sur Youtube. 26
Copie : Beaucoup sont familiers avec cet approche. Backup de serveur qui évite de réinstaller Windows et SQL. Autres solutions : Pas très différentes que le clustering excepté qu on peut basculer sans panne d un hôte à l autre 27
Recette essentielle sinon on aura essentiellement des fluctuations de performance étranges. SQL utilise intensément la mémoire de la machine souvent en très grande proportion. Peut pas faire juste semblant d y donner. Grosse perte de temps lorsqu il la récupère sans le savoir. Avoir disques initialisés selon leur volume est crucial. 28
29
Automatismes : Ajustements au moyen du paramètre des filtres de base de données. Se donner nomenclature et règles d exclusion qui vont avec surtout. Ajouter tâches spécifiques pour cas spécifiques, et exclure ces cas de la tâche principale. Possibilité de faire fonctionner la maintenance en parallèle si Bd séparées par tâche. 30
31
Tâche de maintenance pour performance, tout est là dans YourSqlDba Diagnostics : Cas réseau, attente après retour des opérations qui se font avec le réseau. Ne dit pas ce qui cause cette attente. 32
Il arrive souvent que j entends ce commentaire. Il y a déni que le problème de l autre soit aussi le sien. 33
34
35
36
37
38
39
40