#JSS2014
Les journées
SQL Server 2014
Un événement organisé par GUSS
#JSS2014
Les journées
SQL Server 2014
Un événement organisé par GUSS
Compteurs de performance et DMVs/DMFs
( mes favoris )...
#JSS2014
Merci à nos sponsors
#JSS2014
select * from jss.speaker_principals
#JSS2014
Faire un choix !
• 200 DMVs et DMFs …
– 166 vues
– 34 fonctions
• 449 compteurs de performance (sans compter les
...
#JSS2014
Agenda
SELECT Name, Comments
FROM DMVs_and_DMFs_and_PerfCounters
TABLESAMPLE SYSTEM (My Favorites)
EXEC (SomeDemo...
#JSS2014#JSS2014
Les évaluations des sessions,
c’est important !!
…Et en plus on peut gagner
des cadeaux
#JSS2014
Perfmon - CPU
• User Mode and Privileged Mode
– Processor (_Total) % Processor Time
– Processor (_Total) % Privil...
#JSS2014
Perfmon – Bases de données
• SQL Server:Databases
– Percent Log Used
– Log Flush Wait Time
– Log Flush Waits/Sec
...
#JSS2014
Démo 1 – Perfmon et Transaction Log
#JSS2014
Compteurs de performance - Activité
• SQL Server:SQL Statistics
– Batch Requests / Sec
– SQL Compilations / Sec
–...
#JSS2014
Perfmon – Accès aux données
• SQL Server:Access Methods
– Full Scans/Sec
– Index Searches/Sec
– Forwarded Records...
#JSS2014
Démo 2 – Forwarded records et Page splits
#JSS2014
Perfmon – Locks et latches
• SQL Server:Locks
– Lock Requests/sec
– Lock Wait Time (ms)
– Lock Waits/sec
– Lock T...
#JSS2014
Démo 3 – Locks and latches
#JSS2014
Perfmon – Buffer Manager
• Memory
– Available MBytes
• SQL Server:Memory
– Memory Grants Pending
• SQL Server:Buf...
#JSS2014
Perfmon - Disque
• Logical Disk
– Avg Disk sec/Read
– Avg Disk sec/Write
– % Idle Time
– Avg Disk Bytes/Read
– Av...
#JSS2014
Démo 4 – Latence disque
#JSS2014
Dans la vrai vie …
#JSS2014
DMV & Catalog View
• La session porte sur les DMVs, pas le catalog view !
• Vous devez le maitriser, en particuli...
#JSS2014
Classification
Category Description
sys.dm_exec_% Execution and Connection
sys.dm_os_% SQL OS related information...
#JSS2014
DMV – Mémoire, CPU
• sys.dm_os_scheduler
• sys.dm_os_buffer_descriptors
• sys.dm_os_performance_counters
#JSS2014
Démo 5 - AggregateBufferPoolUsage
#JSS2014
DMV – IO & Index & Statistiques
• sys.dm_io_virtual_file_stats
• sys.dm_io_pending_io_requests
• sys.dm_db_index_...
#JSS2014
DMV – Exécution
• sys.dm_exec_requests
• sys.dm_exec_connections
• sys.dm_exec_sessions
• sys.dm_exec_sql_text
• ...
#JSS2014
Démo 6 - Locking
#JSS2014
DMV – Post-mortem
• sys.dm_os_wait_stats
• sys.dm_os_latch_stats
• sys.dm_exec_procedure_stats
• sys.dm_exec_quer...
#JSS2014
Démo 7 – Statistiques d’exécution
#JSS2014
Démo bonus – sys.dm_exec_query_profiles
#JSS2014
La documentation
#JSS2014
Les outils
• Profiler / xEvents
• SSMS
• Perfmon
• PAL
• RML utilities
• SQL Nexus
• xPerf
#JSS2014
Conclusion
• Compteurs pour une première analyse
• Vos compteurs absents : posez la question …
• Q&A
#JSS2014#JSS2014
#JSS2014
http://GUSS.Pro/jss
Prochain SlideShare
Chargement dans…5
×

JSS2014 – Performances et DMV

282 vues

Publié le

Session des Journées SQL Server 2014 - Christophe Laporte
---
DBA : Oui, ici le service DBA. Que se passe-t-il ?
Utilisateur : Je ne sais pas ce qu’il se passe, on est complétement bloqué sur l’application …
DBA : OK, on cherche la cause du problème …
Scène banale du métier de DBA. Mais par où commencer ? Les outils de diagnostics sont multiples, entre ceux fournis en standard avec SQL Server et les outils tiers, difficile de faire un choix.
Commençons donc par la base : quelle méthodologie pour un diagnostic et une résolution d’incident efficace ?
Les compteurs de performance et les DMVs font partie des outils standard. Mais difficile de s’y retrouver.
Durant cette session je vous propose de lister et commenter mes compteurs de performance favoris et les DMVs les plus utiles afin de diagnostiquer un problème dans SQL Server.

Publié dans : Données & analyses
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive
  • On parlait des speakers, il y a une chose qui leur tient à cœur !
  • CPU READY : https://www.sqlskills.com/blogs/jonathan/cpu-ready-time-in-vmware-and-how-to-interpret-its-real-meaning/
  • Compilations : 10% des batch requests
    Recompilations : 10% des compilations/ sec
  • Full scan : max 1/1000 du nombre de index searches
    Forwarded records : 10% du nombre de batch requests
    Pages split : 20% batch requests
  • http://blogs.msdn.com/b/mcsukbi/archive/2013/04/12/sql-server-page-life-expectancy.aspx

    The old recommendation was that PLE should have a minimum of about 300 seconds. This was from the days when SQL's BP was around 4GB or so. This therefore meant that for a read-mostly activity such as a report a PLE of 300 meant that the SAN was reading 4GB over 5 minutes, which calculates to about 3.4MB/s. These days we have BP's around the 64GB and above. So our 300 second threshold now means that the SAN would be reading about 218.5MB/s, which is a fair amount and likely to cause comment!
    So what's a "good" PLE for a read-mostly operation like a report? Here's a handy formula I use to get a decent estimate:
    PLE threshold = ((MAXBP(MB)/1024)/4)*300
  • JSS2014 – Performances et DMV

    1. 1. #JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS
    2. 2. #JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS Compteurs de performance et DMVs/DMFs ( mes favoris ) Christophe LAPORTE
    3. 3. #JSS2014 Merci à nos sponsors
    4. 4. #JSS2014 select * from jss.speaker_principals
    5. 5. #JSS2014 Faire un choix ! • 200 DMVs et DMFs … – 166 vues – 34 fonctions • 449 compteurs de performance (sans compter les instances) – Répartis en 33 groupes – Et cela ne concerne que le SGBD … • A raison de 5 secondes par élément on obtiendrait – Une session d’une heure … – Un bon mal de tête
    6. 6. #JSS2014 Agenda SELECT Name, Comments FROM DMVs_and_DMFs_and_PerfCounters TABLESAMPLE SYSTEM (My Favorites) EXEC (SomeDemos) WITH RESULT SETS UNDEFINED GO 8
    7. 7. #JSS2014#JSS2014 Les évaluations des sessions, c’est important !! …Et en plus on peut gagner des cadeaux
    8. 8. #JSS2014 Perfmon - CPU • User Mode and Privileged Mode – Processor (_Total) % Processor Time – Processor (_Total) % Privileged Time – Process (sqlsrvr)% Processor Time – Process (sqlsrvr)% Privileged Time • Eventuellement : – SystemContext Switches /sec – SystemProcessor Queue Length • VM Processor(_Total) – Effective VM Speed in MHz – Host processor speed in MHz
    9. 9. #JSS2014 Perfmon – Bases de données • SQL Server:Databases – Percent Log Used – Log Flush Wait Time – Log Flush Waits/Sec – Log Growths – Log Shrinks
    10. 10. #JSS2014 Démo 1 – Perfmon et Transaction Log
    11. 11. #JSS2014 Compteurs de performance - Activité • SQL Server:SQL Statistics – Batch Requests / Sec – SQL Compilations / Sec – SQL Recompilations / Sec • SQL Server:DatabasesTransactions per second • SQL Server:General StatisticsUser Connections • SQL Server:Transactions – Free space in TempDB (KB) – Version Store Size (KB) • SQL Server:Locks – Lock Requests/sec
    12. 12. #JSS2014 Perfmon – Accès aux données • SQL Server:Access Methods – Full Scans/Sec – Index Searches/Sec – Forwarded Records/Sec – (Page Splits/Sec) • Attention à ce compteur … – Table Lock Escalation/sec – Workfiles created/sec • hash operations – Wortables created/sec • table spools, index spools
    13. 13. #JSS2014 Démo 2 – Forwarded records et Page splits
    14. 14. #JSS2014 Perfmon – Locks et latches • SQL Server:Locks – Lock Requests/sec – Lock Wait Time (ms) – Lock Waits/sec – Lock Timeouts/sec – Number of Deadlocks/sec • SQL Server:Latches – Latch Waits/sec – Avg Latch Wait Time (ms) – Total Latch Wait Time (ms)
    15. 15. #JSS2014 Démo 3 – Locks and latches
    16. 16. #JSS2014 Perfmon – Buffer Manager • Memory – Available MBytes • SQL Server:Memory – Memory Grants Pending • SQL Server:Buffer Manager – Page Life Expectancy • 64GB BP & 300 secondes => 218.5MB/s !!! • PLE threshold : ((MAXBP(MB)/1024)/4)*300 ) => 4800 secs ! – Checkpoint Pages/sec – Free Pages – Free List Stalls/sec – Lazy Writes/sec – Page Reads/sec – Page Writes/sec • VM Memory – Memory Active in MB – Memory Ballooned in MB
    17. 17. #JSS2014 Perfmon - Disque • Logical Disk – Avg Disk sec/Read – Avg Disk sec/Write – % Idle Time – Avg Disk Bytes/Read – Avg Disk Bytes/Write – Disk Reads/sec (Disk Read Byte/sec) – Disk Writes/sec (Disk Write Byte/sec)
    18. 18. #JSS2014 Démo 4 – Latence disque
    19. 19. #JSS2014 Dans la vrai vie …
    20. 20. #JSS2014 DMV & Catalog View • La session porte sur les DMVs, pas le catalog view ! • Vous devez le maitriser, en particulier l’object catalog view • Donc pour la suite vous devez maitriser sys.databases, sys.master_files, sys.database_files, sys.tables, sys.indexes, sys.columns, sys.stats , sys.partitions, sys.procedures, sys.allocation_units, etc … • Les DMVs et DMFs sont préfixées par sys.dm_*
    21. 21. #JSS2014 Classification Category Description sys.dm_exec_% Execution and Connection sys.dm_os_% SQL OS related information sys.dm_tran_% Transaction Management sys.dm_io_% I/O related information sys.dm_db_% Database scoped information
    22. 22. #JSS2014 DMV – Mémoire, CPU • sys.dm_os_scheduler • sys.dm_os_buffer_descriptors • sys.dm_os_performance_counters
    23. 23. #JSS2014 Démo 5 - AggregateBufferPoolUsage
    24. 24. #JSS2014 DMV – IO & Index & Statistiques • sys.dm_io_virtual_file_stats • sys.dm_io_pending_io_requests • sys.dm_db_index_operational_stats • sys.dm_db_index_usage_stats • sys.dm_db_index_physical_stats • sys.dm_db_xtp_index_stats • sys.dm_db_stats_properties
    25. 25. #JSS2014 DMV – Exécution • sys.dm_exec_requests • sys.dm_exec_connections • sys.dm_exec_sessions • sys.dm_exec_sql_text • sys.dm_exec_query_plan • sys.dm_tran_session_transactions • sys.dm_tran_active_transactions • sys.dm_tran_database_transactions • sys.dm_tran_locks • sys.dm_os_waiting_tasks
    26. 26. #JSS2014 Démo 6 - Locking
    27. 27. #JSS2014 DMV – Post-mortem • sys.dm_os_wait_stats • sys.dm_os_latch_stats • sys.dm_exec_procedure_stats • sys.dm_exec_query_stats • sys.dm_exec_trigger_stats • sys.dm_exec_cached_plans • sys.dm_db_missing_index_*
    28. 28. #JSS2014 Démo 7 – Statistiques d’exécution
    29. 29. #JSS2014 Démo bonus – sys.dm_exec_query_profiles
    30. 30. #JSS2014 La documentation
    31. 31. #JSS2014 Les outils • Profiler / xEvents • SSMS • Perfmon • PAL • RML utilities • SQL Nexus • xPerf
    32. 32. #JSS2014 Conclusion • Compteurs pour une première analyse • Vos compteurs absents : posez la question … • Q&A
    33. 33. #JSS2014#JSS2014
    34. 34. #JSS2014 http://GUSS.Pro/jss

    ×