SQL Server : Tuning et Troubleshooting

50 %
50 %
Information about SQL Server : Tuning et Troubleshooting
Technology

Published on February 17, 2014

Author: Developpeurs

Source: slideshare.net

Description

Performing or not performing that is the question ! Comment diagnostiquer les problèmes de performance, les bonnes pratiques. Configurations, trace flags, indexes, statistiques…

Speakers : Yanick Mezui (Microsoft), Frederic Pichaut (Microsoft)

Troubleshooting & Tuning SQL Yanick Mezui Senior PFE Microsoft France Frédéric Pichaut Senior Escalation Egineer Microsoft France Bases de données/Data management

Donnez votre avis ! Depuis votre smartphone sur : http://notes.mstechdays.fr De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les Techdays ! #mstechdays Bases de données/ Data management

METHODOLOGIE Sous titre #mstechdays Bases de données/ Data management

Méthodologie • L’analyse de performance est un perpétuel recommencement • Quand on pense en avoir fini, un changement survient Capture Charge du système Analyse Reglages #mstechdays Bases de données/ Data management

Comment aborder une requête longue #mstechdays Bases de données/ Data management

OUTILS DE COLLECTE #mstechdays Bases de données/ Data management

Les outils de collecte • • • • • Dynamic Management Views (DMVs) – sys.dm_os_wait_stats – sys.dm_os_waiting_tasks Performance Monitor (perfmon) – Mémoire – Disques – Processeurs SQL Trace / SQL Server Profiler – Collecte des events SQL Server – La collecte peut s’effectuer côté client – La collecte peut s’effectuer côté serveur – La Trace Profiler rajoute un overhead sur le serveur Extended Events (Xevent ou XE) – Repose sur l’infrastructure de tracing Windows ETW – Flexibilité du schema des events – Collecte performante et non intrusive (overhead très limité sur le serveur 5% CPU pour 20000 events/sec) Automatisation de la collecte – SQLDiag – PerfStatsScripts – PSSDiag #mstechdays Server Level dm_exec_* Execution of user code and associated connections dm_os_* Memory, locking & scheduling dm_tran_* Transactions & isolation dm_io_* I/O on network and disks dm_db_* Databases and database objects Bases de données/ Data management Component Level dm_repl_* Replication dm_broker_* SQL Service Broker dm_fts_* Full Text Search dm_qn_* Query Notifications dm_clr_* Common Language Runtime

OUTILS D’ANALYSE #mstechdays Bases de données/ Data management

Les outils d’analyse • • • • Performance Analysis of Logs (PAL) – Automatise l’analyse des compteurs de performance Windows – Utilise un fichier avec des seuils de compteurs de performance – Il existe des fichiers de seuils pour les grands produits Serveurs Microsoft (ex: SQL Server, Exchange, SharePoint, etc.) RML Utilities – Automatise l’analyse de la Trace SQL – ReadTrace – Reporter SQLNexus – Automatise l’analyse des Waits, des blocages, de la trace SQL – Utilise RML utilities pour l’analyse de la trace SQL – Fournit des rapports: • Bottleneck Analysis • Blocking & Wait Statistics • Top Queries (Duration, CPU, Reads, Writes) Extended Events Viewer – En utilisant le query_hash, et les capacités d’aggrégation et de tri du XE Viewer on peut arriver aux mêmes rapports Top Queries (Duration, CPU, Reads, Writes) que SQLNexus #mstechdays Bases de données/ Data management

SQL Premier Field Engineering & Performance • Formations chez Microsoft ou dans vos locaux – SQL Server 2008 Performance Tuning & Optimization – SQL Server 2012 Performance Tuning, Design, Internals & Architecture – SQL Server Hands On Troubleshooting • Transfert d’expertise et Analyse de Performance sur vos environnements – SQL server Performance Tuning & Optimization Clinics #mstechdays Bases de données/ Data management

COLLECTE & ANALYSE DE PERFORMANCE AVEC PERFSTATS SCRIPTS, PAL & SQLNEXUS #mstechdays Bases de données/ Data management

LES STATISTIQUES #mstechdays Bases de données/ Data management

LES STATISTIQUES • L’optimiseur se sert des statistiques pour déterminer la cardinalité (#ligne) d’un résultat • Une page de statistique par indexe, on peut en créer sur des colonnes • Elles peuvent être – Crée/MaJ automatiquement ou manuellement, De façon synchrone ou asynchrone – Basée sur un échantillonnage ou un full scan – Filtrée : CREATE STATISTICS FSPoids ON Products(Weight) WHERE CatID IN (1,2,3); • Elles sont mises à jour en fonction du taux de modification de la table • Pas de statistiques sur les variables tables mais il peut y en avoir sur les tables temporaires • Depuis SQL Server 2008 R2 SP2 et SQL Server 2012 Service Pack 1, DMV sys.dm_db_stats_Properties #mstechdays Bases de données/ Data management

AUTO-UPDATE STATISTICS #mstechdays Bases de données/ Data management

Statistiques Incrémentales / Fast Statistics • Objectif: – Mise à jour plus rapide/fréquente sur des tables avec de larges partitions – Des mises à jour automatiques plus fréquentes • Uniquement sur les tables partitionnées • Une page de statistique par partition • Merge binaire des statistiques de chaque partition pour créer une statistique globale • L’ensemble des pages sont persistante sur disque. • La mise à jour peut être globale ou indépendante par partitions – (500 + 20% de la taille moyenne des partitions) pour la mise à jour de la stat globale – 20% de modification dans une partition -> Auto Stat #mstechdays Bases de données/ Data management

Exemples • Sur une table avec 4 partitions • Ajout d’une 5eme partition #mstechdays Bases de données/ Data management

NEW CARDINALITY ESTIMATION #mstechdays Bases de données/ Data management

Les bases du Query Optimization • Composent de plus en plus critique • L’optimisation des requêtes doit déterminer le chemin le plus efficace avec des workloads très différents (OLTP, DW et DS) • Avoir une performance prédictible • Tous va dépendre des estimations de cardinalité (« Cardinality Estimation » ou CE) #mstechdays Bases de données/ Data management

Picasso Database Optimizer Visualizer • De Database Systems Lab, Indian Institute of Science • Un outils de visualisation graphique • Visualiser et analyser le comportement des optimiseurs • Operationel pour plusieurs moteurs – – – – #mstechdays – Microsoft SQL Server IBM DB2 Oracle Sybase Bases de données/ Data management PostgreSQL

Estimation du coût pour requêtes à 2 variablesServer 2008 R2 SQL Prototype with new CE Le cout ne doit pas diminuer alors que le nombre d’enregistrements retourné augmente #mstechdays Bases de données/ Data management

Problèmes de cardinalités • Ils sont la cause des mauvais choix de plans • On peut les détecter de plusieurs façons – SET STATICS PROFILE ON • Rows, Executes VS EstimateRows, EstimateExecutions – Actual Execution Plan #mstechdays Xevents inaccurate_cardinality_estimate – Bases de données/ Data management

Le Nouveau Model Mathématique Hypothèse d’uniformité: – Dans chaque palier d’histogramme les valeurs distinctes sont équidistantes et ont la même fréquence. Hypothèse de confinement: – Les requêtes concernent des données qui existent. Hypothèse d’indépendance: – Les données de différentes colonnes sont distribuées de façons indépendantes #mstechdays Bases de données/ Data management

Exemples #mstechdays Bases de données/ Data management

Problème de clé ascendante • Qu’est ce que le problème de clé ascendante? – Les données sont ascendantes – Les nouvelles donnés ne sont pas dans l’histogramme • Comment le nouveau CE le solutionne? – Toujours supposer que les valeurs demandées existent – Estimer la cardinalité en utilisant la fréquence moyenne #mstechdays Les mêmes suppositions sont prisent pour les – Bases de données/ Data management

Qu’est-ce qui a été fait? #mstechdays Bases de données/ Data management

Architecture Division de Cardinality Estimation en deux étapes • Étapes 1: Planning Trouver un « cardinality calculator » pour les paramètres • Étapes 2: Exécution Exécution des « calculator » Bénéfices – Meilleur supportabilité Bases de données/ Data management #mstechdays Maintenance et extension plus facile à intégrer –

Statistiques Incrémentales New ce #mstechdays Bases de données/ Data management

Ressources Sessions Data Insights pour les professionnels de l’IT http://aka.ms/itprosql Sessions Data Insights pour les décideurs informatiques http://aka.ms/itdmsql Business Accelerator, un programme sur mesure pour les éditeurs de logiciel http://aka.ms/isvbusacc Un client prêt à témoigner ? Une belle histoire à partager ? Un Nokia Lumia à gagner ! http://aka.ms/cloudosref #mstechdays Bases de données/ Data management

Digital is business

#mstechdays presentations

Add a comment

Related presentations

Related pages

SQL Server Performance Tuning Tips - MSSQLTips

Valuable SQL Server Performance Tuning tips, tutorials, ... First Steps for SQL Server Performance Troubleshooting; SQL Server DBCC CLONEDATABASE Example;
Read more

SQL Server : Tuning et Troubleshooting - YouTube

Performing or not performing that is the question ! Comment diagnostiquer les problèmes de performance, les bonnes pratiques. Configurations ...
Read more

SQL Server : Tuning et Troubleshooting | TechDays 2014 ...

What does this mean? Subscriptions allow us send you email notifications when new content is added. You need to be signed in to Channel 9 to use this feature.
Read more

SQL Server : Tuning et Troubleshooting - slidesearchengine.com

Troubleshooting & Tuning SQL Yanick Mezui Senior PFE Microsoft France Frédéric Pichaut Senior Escalation Egineer Microsoft France Bases de données/Data ...
Read more

Troubleshooting Performance Problems in SQL Server 2008

Microsoft White Papers Troubleshooting Performance Problems in SQL ... the Microsoft SQL Server ... and troubleshooting common ...
Read more

SQL Server Performance

SQL Server Performance Articles. ... Tuning your SQL Query ... General SQL Server Performance Tuning Tips
Read more

Microsoft SQL Server – Wikipedia

Microsoft SQL Server; ... SQL Server 2012 Query Performance Tuning ... Farley: Professional SQL Server 2012 Internals and Troubleshooting ...
Read more

Optimisation et Troubleshooting SQL Server / Journées SQL ...

Optimisation et Troubleshooting SQL Server ... SQL Server : Tuning et Troubleshooting ... Performance Troubleshooting with SQL Server ...
Read more

Performance Monitoring and Tuning How-to Topics

Performance Monitoring and Tuning How-to Topics. ... This section contains information about how to use SQL Server performance monitoring and tuning tools.
Read more