#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 performance counters and dmvs

2 247 vues

Publié le

SELECT Name, Comments FROM DMVs_and_DMFs_and_PerfCounters TABLESAMPLE SYSTEM (My Favorites)


EXEC (SomeDemos) WITH RESULT SETS UNDEFINED
GO 8

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
2 247
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1 864
Actions
Partages
0
Téléchargements
4
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 performance counters and dmvs

    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

    ×