SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server の状態を取得する際に取得しておきたいパフォーマンスモニター

leave a comment

案件として、SQL Server の診断を実施させていただくことがあるのですが、その際にはパフォーマンスモニターの情報を取得して解析することがあります。

詳細については DELL (もともとは Quest の資料) が公開している SQL Server Perfmon Counters Poster が参考になりますが、私が取得している情報をメモとして。

パフォーマンスモニターを取得する際には、OS 系と SQL Server 系の 2 系統の項目を取得することになるかと思います。
私の場合、OS 系としては以下の項目を取得しています。
# 解析する場合には、対象オブジェクトの一部のカウンターを使用していますが。

OS としての情報はサーバーがどのようにリソースを消費しているかを確認できる情報を取得するようにしています。
Windows Server 2012 からは NUMA 系の情報も取得できるようになっていますので、NUMA ノード単位でのメモリ使用状況の情報を取得することが可能となります。

オブジェクト

Windows Server 2003

Windows Server 2008 R2

Windows Server 2012 R2

Memory

NUMA Node Memory

Paging File

Network Adapter

Network Interface

Physical Disk

Logical Disk

Process

Processor

Server

Server Work Queue

System

 
サーバーの稼働状況とは別に SQL Server の情報も取得を行います。
この際に取得しているオブジェクトが以下になります。
バージョンによって取得できる項目が変わりますので、主要バージョンを表化してみました。

オブジェクト

SQL Server 2005

SQL Server 2008 R2

SQL Server 2012

SQL Server 2014

SQLServer:Access Methods

SQLServer:Availability Replica

SQLServer:Batch Resp Statistics

SQLServer:Broker/DBM Tarnsport

SQLServer:Buffer Manager

SQLServer:Buffer Node

SQLServer:Catalog Metadata

SQLServer:Database Replica

SQLServer:Databases

SQLServer:Deprecated Features

SQLServer:Exec Statistics

SQLServer:General Statistics

SQLServer:HTTP Storage

SQLServer:Latches

SQLServer:Locks

SQLServer:Memory Manager

SQLServer:Memory Node

SQLServer:Plan Cache

SQLServer:Query Execution

SQLServer:Resource Pool Stats

SQLServer:SQL Errors

SQLServer:SQL Statistics

SQLServer:Transactions

SQLServer:Wait Statistics

SQLServer:Workload Group Stats

XTP Cursor

XTP Garbage Collection

XTP Phantom Processor

XTP Storage

XTP Transaction Log

XTP Transactions

 
SQL Server のストレージエンジンに関する項目を大体取得している感じですね。
# AlwaysOn と In-Memory OLTP に関する項目も取得しています。
 
パフォーマンスモニターのデータは時系列に取得できますので、情報を解析することで波形を確認することができます。
特定の項目が急に上昇 (スパイク) している場合は他の項目と比較して状況を正しく判断する必要がありますが、そのあたりについてはノウハウとなりますので本投稿では記載しません。
また、パフォーマンスモニターだけでなく、動的管理ビューと組み合わせることで情報を正しく解析することができるようになりますので、パフォーマンスモニターの各種情報を動的管理ビューで見る場合にはどうすればよいかを考えると勉強になるかと思います。
# ここで言いう DMV は sys.dm_os_performance_counters ではなく、それ以外の情報を指しています。

Written by masayuki.ozawa

4月 22nd, 2014 at 5:27 pm

Posted in SQL Server

Tagged with

Leave a Reply

*