パフォーマンス データ コレクションによるパフォーマンス監視

SQL Server 2008 からは、パフォーマンス データ コレクション機能がサポートされました。これは、グラフィカルなパフォーマンス監視が行える機能で、Management Studio のレポートとして実装されています。


パフォーマンス データ コレクションは、SQL Server 2005 SP2(Service Pack 2)のアドインとして提供されていた Performance Dashboard の強化版で、Performance Dashboard が今の状態(リアルタイム)しか監視できなかったのに対して、SQL Server 2008 のパフォーマンス データ コレクションでは、データ コレクション機能と連動して、過去のデータまでさかのぼって監視することができます。


■ パフォーマンス データ コレクションのレポート
パフォーマンス データ コレクションで提供されるレポートは、次の 3つで、それぞれ組み込みの データ コレクション(システム データ コレクション)と連動したレポートとなっています。


■ 設定手順
パフォーマンス データ コレクション設定するには、以下の URL の手順を実行して、データ コレクションをセットアップ(管理データ ウェアハウスの作成)を行っておく必要があります。


データ コレクションによる定期的なデータ収集
http://d.hatena.ne.jp/matu_tak/20100216/1266237083


これにより、「システム データ コレクション セット」が自動的に実行されるようになります。システム データ コレクション セットでは、次の情報が定期的に収集されています。

これらの設定は、それぞれのデータ コレクションを右クリックして「プロパティ」をクリックし、プロパティを参照することで確認できます。たとえば、「ディスク使用量」データ コレクションのプロパティは、次のように確認できます。

「ディスク使用量」データ コレクションは、6時間ごとにデータ収集が行われているので、今すぐデータ収集(とアップロード)を実行するために、次のように[今すぐ収集してアップロード]をクリックします。

「クエリ統計」と「サーバーの利用状況」データ コレクションについても、同じように[今すぐ収集してアップロード]をクリックして、今すぐデータ収集を実行することができます。

これにより、データ コレクション用のデータ ウェアハウス内のテーブルが更新され、たとえば snapshots スキーマの「disk_usage」テーブルには、「ディスク使用量」データ コレクションによって収集されたデータベースの使用サイズなどが格納されています。


■ ディスク使用量の概要レポート
ディスク使用量の概要レポートを表示するには、[データ コレクション]を右クリックして、[レポート]メニューの[管理データ ウェアハウス]から[ディスク使用量の概要]をクリックします。


このレポートは、グラフをクリックすると、詳細レポートを表示することも可能です。


これらのレポートは、「ディスク使用量」データ コレクションによって収集されたデータ(データ ファイルやログ ファイルの使用サイズ)をもとに作成されたものです。


■ クエリ統計の履歴レポート
クエリ統計の履歴レポートを表示するには、[データ コレクション]を右クリックして、[レポート]メニューの[管理データ ウェアハウス]から[クエリ統計の履歴]をクリックします。


このレポートでは、実行時間(Duration)の長いクエリや、CPU 利用時間の長いクエリの順にクエリを一覧してくれ、そのクエリの詳細を表示できるようになっています。

クエリの詳細画面では、次のように「このクエリに関するサンプリングされた待機を表示」ハイパーリンクをクリックすると、リソース待ちに関する詳細を確認することができます。

また、クエリの詳細画面では、次のように「グラフィカルなクエリ実行プランの表示」のハイパーリンクをクリックすると、グラフィカル実行プランを確認することもできます(収集されている場合のみ)。


■ サーバーの利用状況の履歴レポート
サーバーの利用状況の履歴レポートを表示するには、[データ コレクション]を右クリックして、[レポート]メニューの[管理データ ウェアハウス]から[サーバーの利用状況の履歴]をクリックします。


このレポートでは、CPU 利用率やメモリ使用量、ディスク(I/O)の使用量、SQL Server の動作状況(Wait Stats や各種パフォーマンス カウンタの状況)などを表示することができます。また、各グラフをクリックすると、その詳細を表示できるようになっていて、たとえば、次のように CPU 利用率(%CPU)のグラフをクリックすると、その詳細(各 CPU コアごとの CPU 利用率など)を確認できるようになります。

このレポートでは、「User Connections」や「Batch Request/sec」、「Logins/sec」、「Compilation/sec」といった、SQL Server 関連の各種パフォーマンス カウンタの状況なども確認することができます。

このように、パフォーマンス データ コレクション機能を利用すると、リソースの使用状況を過去にさかのぼって参照することができるので、パフォーマンス チューニング時のボトルネックの発見や、トラブル シューティング時のトラブル原因の究明に大変役立ちます。


なお、そのほかの SQL Server 2008 の新機能の具体的な利用方法については、弊社執筆の SQL Server 2008 自習書シリーズ(下記 URL)の「SQL Server 2008 の注目の新機能をイチ早く試してみよう! 」編を参考にしてみてください。
http://www.microsoft.com/japan/sqlserver/2008/self-learning/default.mspx