3
オブジェクト カウンター 備考 OS 系のカウンター Memory Available Bytes Available Kbytes Available Mbytes Page Faults/sec Page Reads/sec Page Writes/sec Pages Input/sec Pages Output/sec Pages/sec Free System Page Table Entries Free System Page Table Entries Pool Nonpaged Bytes Pool Paged Bytes System Cache Resident Bytes Available Mbytes : 100 MB 以上 Pages Input/sec : 10 未満 Available Bytes Mbytes : サーバーの空きメモリの状況 Page Fault/sec : ハードフォルト / ソフトフォルトを含んだ値となっている Pages Input/sec : ハードページフォルトを解決するためにディスクから読み取られたページ Pages Output/sec : 物理メモリを解放するためにディスクに書き込まれたページ NUMA Node Memory ※≧Windows Server 2012 Paging File % Usage % Usage Peak %Usage : 70% 未満 %Usage Peak : 70% 未満 Usage : ページングファイルの使用状況 % Usage Peak : ページングファイルの使用状況のピーク Network Adapter Network Interface Bytes Recived/sec Bytes Sent/sec Bytes Total/sec Output Queue Length Output Queue Length : 2 未満 Bytes Total/sec : ネットワーク帯域の上限に達していない Network Segment %Net Utilization Physical Disk Logical Disk % Idle Time Current Disk Queue Length Disk Bytes/sec Disk Read Bytes/sec Disk Reads/sec Disk Transfers/sec Disk Write Bytes/sec Disk Writes/sec Avg. Disk Queue Length Avg. Disk Read Queue Length Avg. Disk sec/Read Avg. Disk sec/Write Avg. Disk sec/Transfer Avg. Disk Write Queue Length Avg. Disk Bytes/Read Avg. Disk Bytes/Transfer Avg. Disk Bytes/Write Current Disk Queue Length : 物理ディスクあたり 2 未満 Avg. Disk sec/Transfer : > 1520ms Disk Read Bytes/sec : ディスク速度の読み込み上限に達していない Disk Write Bytes/sec : ディスク速度の書き込み上限に達していない % Idle Time : 20% を超えると I/O 競合が発生しだしている可能性がある 単一の物理ディスクの場合 : 一般的には 50 80 MB/sec で高負荷 SAN を使用している場合 : 150 300 MB/sec で高負荷 各ディスクの接続方式に応じて帯域の上限が変わってくるため、ディスク接続方式も意識する必要がある Avg. Disk Bytes/Transfer Process % Privileged Time % Processor Time % User Time % Handle Time % IO Data Operations/sec % IO Other Operations/sec Page Faults/sec Thread Count Working Set Private Bytes Virtual Bytes % Processor Time (sqlservr) : 80% 未満 % Process (msmdsrv) : 80% 未満 (SSAS のプロセス) % Processor Time : Privileged + User mode by this specific Application % Privileged Time : Processor time spent in Kernel/Windows mode by this specifc Application % User Time : Processor time spent in User Application mode by this specific application 「メモリ内のページロック」を使用している場合は Working Set ではなく Private Bytes を確認する Processor % Privileged Time % Processor Time % User Time % Interrupt Time % Privileged Time : Total User Time 15% 未満 (最大でも 10% 未満) Processor 0 CPU 使用率も意識する % Privileged Time : Processor time spent in Kernel/Windows mode % Processor Time : Privileged + User mode % User Time : Processor time spent in user/Application mode Processor Information Processor Frequency Processor Frequency : プロセッサの周波数。電源プランによっては周波数が一定していないことがある。 System Processor Queue Length Context Switches/sec Processor Queue Length : プロセッサあたり 2 未満 Context Switches/sec : 15,000 未満 (プロセッサあたり 300 2000) Server Processor Queue Length Context Switches/sec Processor Queue Length : 1 コアあたり 8 未満 (12 : good / 8 better / 4 best) Context Switches/sec : 1 コアあたり 3000 未満 (6,000 : poor / 3,000 : good / 1,500 : excelent) Server Work Queue .NET Data Provider for SqlServer AP サーバー側で取得できる場合に取得する http://blogs.msdn.com/b/jpsql/archive/2012/06/21/10322154.aspx SQL Server 系のカウンター SQLServer:Access Methods Forwarded Records/sec Full Scans/sec Index Searches/sec Page Splits/sec Range Scan/sec Table Lock Escalations/sec Workfiles Created/sec Worktables Created/sec FreeSpace Scan/sec Full Scans/sec Index Searched/sec Pages Allocated/sec Page Splits/sec Range Scans/sec Scan Point Revalidations/sec Forwarded Records/sec : 100 Batch Requests/sec あたり 10 未満 Index Searches/sec : 1 Full Scans/sec あたり 1000 Page Splits/sec : 100 Batch Requests/sec あたり 20 未満 Workfiles Created/sec : 20 未満 (hash 操作による tempdb の利用) Worktables Created/sec : 20 未満 (ソート,グルーピングの中間結果のスプール / 変数 / カーソル) Forwarded Records/sec : 転送されたレコードポインターを使用してフェッチされたレコード Full Scans/sec : ベース テーブルまたはインデックスのフルスキャン Index Searches/sec : インデックス検索の実施数 Page Splits/sec : ページ分割の発生状況 SQL Server パフォーマンスカウンター SQL Server - 1 ページ

SQL Server パフォーマンスカウンター

Embed Size (px)

Citation preview

Page 1: SQL Server パフォーマンスカウンター

オブジェクト カウンター 備考

OS 系のカウンター

Memory Available Bytes

Available Kbytes

Available Mbytes

Page Faults/sec

Page Reads/sec

Page Writes/sec

Pages Input/sec

Pages Output/sec

Pages/sec

Free System Page

Table Entries

Free System Page Table Entries

Pool Nonpaged Bytes

Pool Paged Bytes

System Cache Resident Bytes

Available Mbytes : 100 MB 以上

Pages Input/sec : 10 未満

Available Bytes Mbytes : サーバーの空きメモリの状況

Page Fault/sec : ハードフォルト / ソフトフォルトを含んだ値となっている

Pages Input/sec : ハードページフォルトを解決するためにディスクから読み取られたページ

Pages Output/sec : 物理メモリを解放するためにディスクに書き込まれたページ

NUMA Node Memory

※ ≧Windows Server 2012

Paging File % Usage

% Usage Peak%Usage : 70% 未満

%Usage Peak : 70% 未満

% Usage : ページングファイルの使用状況

% Usage Peak : ページングファイルの使用状況のピーク

Network Adapter

Network Interface Bytes Recived/sec

Bytes Sent/secBytes Total/sec

Output Queue Length

Output Queue Length : 2 未満

Bytes Total/sec : ネットワーク帯域の上限に達していない

Network Segment %Net Utilization

Physical Disk

Logical Disk

% Idle Time

Current Disk Queue Length

Disk Bytes/sec

Disk Read Bytes/sec

Disk Reads/secDisk Transfers/sec

Disk Write Bytes/sec

Disk Writes/sec

Avg. Disk Queue Length

Avg. Disk Read Queue Length

Avg. Disk sec/Read

Avg. Disk sec/Write

Avg. Disk sec/Transfer

Avg. Disk Write Queue Length

Avg. Disk Bytes/Read

Avg. Disk Bytes/Transfer

Avg. Disk Bytes/Write

Current Disk Queue Length : 物理ディスクあたり 2 未満

Avg. Disk sec/Transfer : > 15~ 20ms

Disk Read Bytes/sec : ディスク速度の読み込み上限に達していない

Disk Write Bytes/sec : ディスク速度の書き込み上限に達していない

% Idle Time : 20% を超えると I/O 競合が発生しだしている可能性がある

単一の物理ディスクの場合 : 一般的には 50 ~ 80 MB/sec で高負荷

SAN を使用している場合 : 150 ~ 300 MB/sec で高負荷

各ディスクの接続方式に応じて帯域の上限が変わってくるため、ディスク接続方式も意識する必要がある

Avg. Disk Bytes/Transfer

Process % Privileged Time

% Processor Time

% User Time

% Handle Time

% IO Data Operations/sec

% IO Other Operations/sec

Page Faults/sec

Thread Count

Working Set

Private Bytes

Virtual Bytes

% Processor Time (sqlservr) : 80% 未満

% Process (msmdsrv) : 80% 未満 (SSAS のプロセス)

% Processor Time : Privileged + User mode by this specific Application

% Privileged Time : Processor time spent in Kernel/Windows mode by this specifc Application

% User Time : Processor time spent in User Application mode by this specific application

「メモリ内のページロック」を使用している場合は Working Set ではなく Private Bytes を確認する

Processor % Privileged Time

% Processor Time

% User Time

% Interrupt Time

% Privileged Time : Total User Time の 15% 未満 (最大でも 10% 未満)

Processor 0 の CPU 使用率も意識する

% Privileged Time : Processor time spent in Kernel/Windows mode

% Processor Time : Privileged + User mode

% User Time : Processor time spent in user/Application mode

Processor Information Processor Frequency Processor Frequency : プロセッサの周波数。電源プランによっては周波数が一定していないことがある。

System Processor Queue Length

Context Switches/secProcessor Queue Length : プロセッサあたり 2 未満

Context Switches/sec : 15,000 未満 (プロセッサあたり 300 ~ 2000)

Server Processor Queue Length

Context Switches/secProcessor Queue Length : 1 コアあたり 8 未満 (12 : good / 8 better / 4 best)

Context Switches/sec : 1 コアあたり 3000 未満 (6,000 : poor / 3,000 : good / 1,500 : excelent)

Server Work Queue

.NET Data Provider for SqlServer AP サーバー側で取得できる場合に取得する

http://blogs.msdn.com/b/jpsql/archive/2012/06/21/10322154.aspx

SQL Server 系のカウンター

SQLServer:Access Methods Forwarded Records/sec

Full Scans/sec

Index Searches/sec

Page Splits/sec

Range Scan/sec

Table Lock Escalations/sec

Workfiles Created/sec

Worktables Created/sec

FreeSpace Scan/sec

Full Scans/sec

Index Searched/sec

Pages Allocated/sec

Page Splits/sec

Range Scans/sec

Scan Point Revalidations/sec

Forwarded Records/sec : 100 Batch Requests/sec あたり 10 未満

Index Searches/sec : 1 Full Scans/sec あたり 1000

Page Splits/sec : 100 Batch Requests/sec あたり 20 未満

Workfiles Created/sec : 20 未満 (hash 操作による tempdb の利用)

Worktables Created/sec : 20 未満 (ソート,グルーピングの中間結果のスプール / 変数 / カーソル)

Forwarded Records/sec : 転送されたレコードポインターを使用してフェッチされたレコード

Full Scans/sec : ベース テーブルまたはインデックスのフルスキャン

Index Searches/sec : インデックス検索の実施数

Page Splits/sec : ページ分割の発生状況

Workfiles Created/sec : ハッシュ結合やハッシュ集計のために tempdb に作成されたワークファイル

SQL Server パフォーマンスカウンター

SQL Server - 1 ページ

Page 2: SQL Server パフォーマンスカウンター

Workfiles Created/sec : ハッシュ結合やハッシュ集計のために tempdb に作成されたワークファイル

Worktables Created/sec : 中間結果 / 一時テーブル / カーソル等のために tempdb に作成されたワークテーブル

SQLServer:Batch Resp Statistics

※ ≧SQL Server 2012実行時間ごとのクエリの分布を取得できる

SQLServer:Buffer Manager AWE lookup maps/sec

AWE stolen maps/sec

AWE unmap calls/sec

AWE unmap pages/sec

AWE write maps/sec

Buffer cache hit ratio

Checkpoint pages/sec

Database pages

Free List Stall/sec

Free pages

Lazy Writes/sec

Page life expectancy

Page lookups/sec

Page reads/sec

Page writes/sec

Readahead pages/sec

Stolen pages

Reserved pages

Target pages

Total pages

SQL Server 2012 以降

Background writer pages/sec

SQL Server 2014 以降

Readahead time/sec

Buffer cache hit ratio : 100 に近い値

Page life expectancy : 300 以上

Lazy Writes/sec : 20未満

Database pages : データページ

Free pages : 空きページ

Stolen pages : プランキャッシュ等で使用されるために Stole されたページ(バッファプールから奪われたページ)

Page lookups/sec : メモリ上のページ参照回数

Readahead pages/sec : 先行読み取りにより参照されたディスク上のページ参照回数

Page reads/sec : ディスク上のページ参照回数

(Readahead reads + Page reads = 読み取りによるディスク参照回数)

Target pages : SQL Server が算出した理想的なページ数

Total pages : バッファプールに割り当てられているページ数

※ページの操作回数については 8KB を乗算することでサイズに置き換えることができる

Lazy Writes/sec : ダーティーページをメモリからフラッシュする

間接チェックポイントにすることで、通常のチェックポイントと比較して、バックグラウンドでログ適用が動作し続けるた

め、書き込みのスパイクがなくなるが瞬間的な書き込みではなく恒常的な書き込みとなるため、負荷の変化傾向を意識する

必要がある

Background Writer pages/sec : 間接チェックポイントによるデータへの書き込み

Checkpoint pages/sec :通常のチェックポイントプロセスによるデータへの書き込み

SQLServer:Buffer Node

※ ≧SQL Server 2012

NUMA ノード単位のメモリ使用状況

SQLServer:Catalog Metadata

SQLServer:Databases Log Flush Wait Time

Log Flush Waits/sec

Log Flush Write Time (ms)

Log Flushes/sec

Percent Log Used

Transactions/sec

Write transactions/sec

Log Cache Hit Ratio

Log Cache Reads/sec

SQLServer:Deprecated Features Usage

SQLServer:Exec Statistics OLEDB Call がリンクサーバー経由で実行されているクエリの情報となる

SQLServer:General Statistics Logins/sec

Logouts/sec

Transactions

User Connections

Process blocked

Temp Table Creation Rate

Temp Tables for Destruction

Temp Table Creation Rate : 一時テーブルの作成レート (秒間作成数)

SQLServer:HTTP Storage

SQLServer:Latches Latch Waits/sec

Total Latch Wait Time (ms)ラッチの発生状況を時系列データとして取得

SQLServer:Locks Lock Waits/sec

Lock Wait Time (ms)Number of Deadlock/sec

Lock Requests/sec

Lock Timeouts (timeout > 0)/sec

Lock Timeouts/sec

ロックの発生状況を時系列データとして取得

SQLServer:Memory Manager Database Cache Memory (KB)

Free Memory (KB)

Granted Workspace memory (KB)

Memory Grants Outstanding

Memory Grants Pending

Total Server Memory (KB)

Connection Memory (KB)

Lock Blocks

Lock Blocks Allocated

Lock Memory (KB)

Log Pool Memory (KB)

Maximum Workspace Memory (KB)

Optimizer Memory (KB)

Reserved Server Memory (KB)

SQL Cache Memory (KB)

Stolen Server Memory (KB)

Target Server Memory (KB)

Total Server Memory (KB)

SQL Server 2014 以降

Extension allocated pages

Extension free pages

Extension in use as percentage

Extension outstanding IO counter

Extension page evictions/sec

Extension page reads/sec Extension page unreferenced time

Extension pages writes/sec

Granted Workspace Memory (KB) : ハッシュ / ソート / バルクコピー / インデックス作成で使用するために実行中のプロセ

スに許可されているメモリの総容量

Maximum Workspace Memory (KB) : ワークスペース領域で使用された最大のメモリサイズ

Memory Grants Pending : メモリ取得の許可待ち

バッファキャッシュのメモリ使用状況の確認

メモリの使用状況は負荷をかけるアプリケーションに依存するのでAlwaysOn の検証としては参考情報

HADR のワークロードでは Log Pool Memory の状態を確認

SQLServer:Memory Node

※ ≧SQL Server 2012

SQLServer:Plan Cache Cache Hit Ratio

Cache Object Counts

Cache Object in use

Cache Pages

Sql Plans : パラメータ化クエリ /アドホッククエリ

Object Plans : ストアド プロシージャ/関数/トリガー

SQLServer:Query Execution

※SQL Server 2012

SQLServer:Resource Pool Stats

SQL Server - 2 ページ

Page 3: SQL Server パフォーマンスカウンター

SQLServer:Resource Pool Stats

SQLServer:SQL Errors Info Errors クエリタイムアウト等でクライアントにエラーを返した場合に発生

SQLServer:SQL Statistics Auto-Param Attempts/sec

Batch Request/sec

SQL Attention Rate/sec

SQL Compilations/sec

SQL Re-Compilations/sec

SQLServer:Transactions Free Space in tempdb (KB) tempdb の使用状況の確認

SQLServer:Wait Statistics 待ち事象を時系列データとして取得

SQLServer:Workload Group Stats

可用性グループ

SQLServer:Availability Replica Bytes Received from Replica/sec

Bytes Sent to Replica/secReceives from Replica / sec

Resent Messages/sec

Sends to Replica to Replica/sec

Sends to Transport/sec

送受信のレートがネットワーク帯域の上限となっていないことを確認

プライマリとセカンダリで送信/受信のトレンドが異なる

プライマリで取得した場合 : 更新データの送信状況が取得可能

セカンダリで取得した場合 : 更新データの受信状況が取得可能

SQLServer:Database Replica Log Bytes Received/sec

Log Send Queue

Recovery Queue

Redone Bytes/sec

Transaction Delay

この項目はプライマリ側ではカウンターは上昇しないのでセカンダリー側で取得する必要がある

Redone Bytes/sec : 受信したログの適用 (Redo) 状況

SQLServer:Broker/DBM Tarnsport キューの情報が取れるというわけではないので参考情報

エンドポイント間のデータ通信状況

OS 系のパフォーマンスモニターと対応状況

オブジェクト 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 SQL Server 2016 CTP 2.0 SQL Database v12

SQLServer:Access Methods ○ ○ ○ ○ ○ ○

SQLServer:Availability Replica - - ○ ○ ○ ○

SQLServer:Batch Resp Statistics - - ○ ○ ○ ○

SQLServer:Broker/DBM Tarnsport ○ ○ ○ ○ ○ ○

SQLServer:Buffer Manager ○ ○ ○ ○ ○ ○

SQLServer:Buffer Node ○ ○ ○ ○ ○ ○

SQLServer:Catalog Metadata ○ ○ ○ ○ ○ ○

SQLServer:CloudDB Messaging - - - - - ○

SQLServer:CloudDB Replication - - - - - ○

SQLServer:Database Replica - - ○ ○ ○ ○

SQLServer:Databases ○ ○ ○ ○ ○ ○

SQLServer:DB-XESession - - - - - ○

SQLServer:Deprecated Features - ○ ○ ○ ○ ○

SQLServer:Exec Statistics ○ ○ ○ ○ ○ ○

SQLServer:FileTable - - - ○ ○ ○

SQLServer:General Statistics ○ ○ ○ ○ ○ ○

SQLServer:HTTP Storage - - - ○ ○ ○

SQLServer:Latches ○ ○ ○ ○ ○ ○

SQLServer:Locks ○ ○ ○ ○ ○ ○

SQLServer:LogPool FreePool - - - - ○ ○

SQLServer:Memory Broker Clerks - - ○ ○ ○ ○

SQLServer:Memory Manager ○ ○ ○ ○ ○ ○

SQLServer:Memory Node - - ○ ○ ○ ○

SQLServer:Plan Cache ○ ○ ○ ○ ○ ○

SQLServer:Query Store - - - - ○ ○

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 - 3 ページ