ここまで、すぐにできるチューニングポイントを基に、SQL Serverの内部動作を解説してきました。これらの知識により、SQL Serverが出す情報群から読み取れるものがいままで以上に増えているはずです。例えば、以下の動的管理ビューは大変有用な情報が得られることに気がつくでしょう。
これらをテーブルに保存するようなスクリプトを作れば、動的管理ビューの状況をすべてチェックができます。私はチューニング時に、この4つの情報を見ています。これらを見ると、スキルが上がるはずです。
【関連記事】
Dr. K's SQL Serverチューニング研修 Part II (2)
チューニングに大変革をもたらす動的管理ビュー
http://www.atmarkit.co.jp/fdb/rensai/drk2_02/drk2_02_1.html
例えば、大変重要な動的管理オブジェクトである「sys.dm_os_wait_stats」からはこのような問題点が発見可能です。ぜひ、重点的に監視を行ってください。
ここで表示される値には、累積値(ロックとラッチの発行回数など)と、現在の値(CPUの占有率、1秒あたりのトランザクション数、負荷の状態など)という、性格の異なる数値が表示されています。その項目がどちらに属するのか、違いを把握してください。
●累積値
●現在の値
私が利用している監視ツール群と、その使いどころを解説しましょう。皆さんもぜひもう一度SQL Serverの状態をチェックしてみてください。
これはサーバ全体のスループットと共有資源の負荷状況を把握するためのものです。Windowsに付属したものですので、なじみ深いものかと思います。
【関連記事】
Windows TIPS
パフォーマンスモニタの使い方(基本編)
http://www.atmarkit.co.jp/fwin2k/win2ktips/1229perfmon/perfmon.html
ユーザーが実行中のクエリーの収集と再現テストの実施や、ブロッキングの原因究明に使います。実はこのProfilerはけっこう重たい処理です。ピーク時に使ってしまうと、それだけで負荷が高くなってしまうので、再現性確認のためにピンポイントで情報収集するツールとして活用しましょう。
【関連記事】
IT Proから見たSQL Server 2005
第3回 SQL Server 2005の管理ツール
http://www.atmarkit.co.jp/fwin2k/operation/sql2005ov03/sql2005ov03_01.html
これは動的管理オブジェクトを見やすく表示したもので、2005から用意されたもので、最新版ではかなり機能強化されました。例えば、先に紹介したsys.dm_os_wait_statsなどもダッシュボードを通じて見ることができます。もちろん、直接動的管理ビューを確認するのもよいでしょう。
【関連記事】
BIでエンジニアもハッピーに? SQL Server新機能の狙いとは
http://www.atmarkit.co.jp/news/201004/06/sqlserver.html
そのほかにも、「Quest Software Spotlight on SQL Server」などのサードパーティのパフォーマンス監視ツールなどが挙げられるでしょう。これらのツールから出てくる情報は、数値だけをなんとなく見るのではなく、SQL Serverの内部動作を知ることでより深く理解できるようになります。ぜひ、これらのツールと数値に親しんでください。
次回以降、SQL Serverの「プロシージャキャッシュと実行プラン」について触れたいと思います。
熊澤 幸生(くまざわ ゆきお)
技術フェロー特別役員
メインフレーム環境で20年近くデータベース関連のITプロジェクトを数多く経験。また1979年から1983年まで米国に駐在し、データ主導型システム設計を実プロジェクトで学ぶ。1994年、アスキー・ネットワーク・テクノロジー(現、CSK Winテクノロジ)設立に参加し、SQL Server Ver 4.2からSQL Server 2000までシステム構築、教育にかかわってきた。
マイクロソフトMVP Data & Storage SQL Server(2007年4月から)。
2008年7月より、兼務形式で、マイクロソフト?SQL Server 技術顧問に就任中。
Copyright © ITmedia, Inc. All Rights Reserved.