SlideShare une entreprise Scribd logo
1  sur  34
#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 )
Christophe LAPORTE
#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
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
#JSS2014
Agenda
SELECT Name, Comments
FROM DMVs_and_DMFs_and_PerfCounters
TABLESAMPLE SYSTEM (My Favorites)
EXEC (SomeDemos) WITH RESULT SETS
UNDEFINED
GO 8
#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) % 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
#JSS2014
Perfmon – Bases de données
• SQL Server:Databases
– Percent Log Used
– Log Flush Wait Time
– Log Flush Waits/Sec
– Log Growths
– Log Shrinks
#JSS2014
Démo 1 – Perfmon et Transaction Log
#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
#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
#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 Timeouts/sec
– Number of Deadlocks/sec
• SQL Server:Latches
– Latch Waits/sec
– Avg Latch Wait Time (ms)
– Total Latch Wait Time (ms)
#JSS2014
Démo 3 – Locks and latches
#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
#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)
#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 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_*
#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
#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_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
#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
#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_query_stats
• sys.dm_exec_trigger_stats
• sys.dm_exec_cached_plans
• sys.dm_db_missing_index_*
#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

Contenu connexe

Similaire à JSS2014 – Performances et DMV

Guss webcasts Tempdb Internals - june 2013
Guss webcasts   Tempdb Internals - june 2013Guss webcasts   Tempdb Internals - june 2013
Guss webcasts Tempdb Internals - june 2013David BAFFALEUF
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASGUSS
 
Re build Nantes 2013 SQL Server monitoring
Re build Nantes 2013   SQL Server monitoringRe build Nantes 2013   SQL Server monitoring
Re build Nantes 2013 SQL Server monitoringDavid BAFFALEUF
 
JSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-OnJSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-OnGUSS
 
JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0Patrick Guimonet
 
Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisationChristophe Laporte
 
Quelles architectures matérielles pour Hadoop ?
Quelles architectures matérielles pour Hadoop ?Quelles architectures matérielles pour Hadoop ?
Quelles architectures matérielles pour Hadoop ?Modern Data Stack France
 
JSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idéesJSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idéesGUSS
 
JSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsJSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsGUSS
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azureChristophe Laporte
 
Guss webcasts Query Memory Grants - june 2013
Guss webcasts   Query Memory Grants - june 2013Guss webcasts   Query Memory Grants - june 2013
Guss webcasts Query Memory Grants - june 2013David BAFFALEUF
 
SQL Server : Tuning et Troubleshooting
SQL Server : Tuning et TroubleshootingSQL Server : Tuning et Troubleshooting
SQL Server : Tuning et TroubleshootingMicrosoft
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google CloudPierre Coste
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Guillaume Nocent
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query StoreGUSS
 

Similaire à JSS2014 – Performances et DMV (20)

Guss webcasts Tempdb Internals - june 2013
Guss webcasts   Tempdb Internals - june 2013Guss webcasts   Tempdb Internals - june 2013
Guss webcasts Tempdb Internals - june 2013
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
 
Re build Nantes 2013 SQL Server monitoring
Re build Nantes 2013   SQL Server monitoringRe build Nantes 2013   SQL Server monitoring
Re build Nantes 2013 SQL Server monitoring
 
JSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-OnJSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-On
 
JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0JSS2013 Session SharePoint pour le dba sql v1.0
JSS2013 Session SharePoint pour le dba sql v1.0
 
Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisation
 
Quelles architectures matérielles pour Hadoop ?
Quelles architectures matérielles pour Hadoop ?Quelles architectures matérielles pour Hadoop ?
Quelles architectures matérielles pour Hadoop ?
 
JSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idéesJSS2014 – Performances et fausses bonnes idées
JSS2014 – Performances et fausses bonnes idées
 
JSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsJSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an après
 
Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azure
 
Migration sharepoint 2013
Migration sharepoint 2013Migration sharepoint 2013
Migration sharepoint 2013
 
Guss webcasts Query Memory Grants - june 2013
Guss webcasts   Query Memory Grants - june 2013Guss webcasts   Query Memory Grants - june 2013
Guss webcasts Query Memory Grants - june 2013
 
REX Storm Redis
REX Storm RedisREX Storm Redis
REX Storm Redis
 
SQL Server : Tuning et Troubleshooting
SQL Server : Tuning et TroubleshootingSQL Server : Tuning et Troubleshooting
SQL Server : Tuning et Troubleshooting
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
Fusion io
Fusion ioFusion io
Fusion io
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 

Plus de GUSS

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)GUSS
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossGUSS
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2GUSS
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1GUSS
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data LakeGUSS
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI DevGUSS
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch TablesGUSS
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybridesGUSS
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale outGUSS
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analyticsGUSS
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocksGUSS
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics GUSS
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automationGUSS
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016GUSS
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x eventsGUSS
 
[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016GUSS
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataGUSS
 
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...GUSS
 

Plus de GUSS (20)

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a boss
 
GUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the WebGUSS - CRITEO Meetup Scale SQL for the Web
GUSS - CRITEO Meetup Scale SQL for the Web
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2
 
JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1JSS2015 - Keynote jour 1
JSS2015 - Keynote jour 1
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI Dev
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automation
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x events
 
[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
 

JSS2014 – Performances et DMV

  • 1. #JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS
  • 2. #JSS2014 Les journées SQL Server 2014 Un événement organisé par GUSS Compteurs de performance et DMVs/DMFs ( mes favoris ) Christophe LAPORTE
  • 4. #JSS2014 select * from jss.speaker_principals
  • 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. #JSS2014 Agenda SELECT Name, Comments FROM DMVs_and_DMFs_and_PerfCounters TABLESAMPLE SYSTEM (My Favorites) EXEC (SomeDemos) WITH RESULT SETS UNDEFINED GO 8
  • 7. #JSS2014#JSS2014 Les évaluations des sessions, c’est important !! …Et en plus on peut gagner des cadeaux
  • 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. #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. #JSS2014 Démo 1 – Perfmon et Transaction Log
  • 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. #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. #JSS2014 Démo 2 – Forwarded records et Page splits
  • 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. #JSS2014 Démo 3 – Locks and latches
  • 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. #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. #JSS2014 Démo 4 – Latence disque
  • 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. #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. #JSS2014 DMV – Mémoire, CPU • sys.dm_os_scheduler • sys.dm_os_buffer_descriptors • sys.dm_os_performance_counters
  • 23. #JSS2014 Démo 5 - AggregateBufferPoolUsage
  • 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. #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
  • 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. #JSS2014 Démo 7 – Statistiques d’exécution
  • 29. #JSS2014 Démo bonus – sys.dm_exec_query_profiles
  • 31. #JSS2014 Les outils • Profiler / xEvents • SSMS • Perfmon • PAL • RML utilities • SQL Nexus • xPerf
  • 32. #JSS2014 Conclusion • Compteurs pour une première analyse • Vos compteurs absents : posez la question … • Q&A

Notes de l'éditeur

  1. On parlait des speakers, il y a une chose qui leur tient à cœur !
  2. CPU READY : https://www.sqlskills.com/blogs/jonathan/cpu-ready-time-in-vmware-and-how-to-interpret-its-real-meaning/
  3. Compilations : 10% des batch requests Recompilations : 10% des compilations/ sec
  4. Full scan : max 1/1000 du nombre de index searches Forwarded records : 10% du nombre de batch requests Pages split : 20% batch requests
  5. 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