連載
» 2006年01月31日 00時00分 公開

Dr. K's SQL Serverチューニング研修(1):SQL Serverというブラックボックスを開いてみる (3/3)

[熊澤 幸生, 工藤 淳(インタビュアー),エイ・エヌ・テイ/オフィスローグ]
前のページへ 1|2|3       

効率的にパフォーマンスを改善するカギは2つ。
「パラメータの可視化」とそれを実現する「専用ツールの活用」

チューニングに必要なパラメータを把握する

 連載の第1回ということで、少々前置きが長くなりました。ここまで読んできて「それで、いままで出てきた問題点を解決するには、具体的にどうしたらいいの?」と思う方もいるでしょう。そこでぜひお話ししておきたいのが、「パラメータの可視化」と、それを実現するための「専用ツールの活用」です。

 メモリ領域に関するチューニング上の問題というのは、システム設計の段階ではほとんど知ることができません。実稼働時にはさまざまな要因が絡み合い、いわゆるトランザクション・ミックスの状態で動くため、具体的にどんな問題が発生するかは動かしてみないと分からないというのが実情です。

 運用開始後にチューニング・ポイントを見つける際、一番重要なのは「バッファプール」です。ここはディスクから取り出したデータとインデックスが入っている領域で、このメモリ領域が不足するとSQL Serverが動かなくなってしまいます。

 そこでSQL Serverでは、LRU(Least Recently Used)というアルゴリズムを使って、メモリ上の一番古い(使われていない)データを自動的に削除して、メモリ領域を確保しようとします。しかし、この削除したデータが頻繁に参照されるものだったりすると、次回に参照のクエリが来たときに、またディスクから読み出すことになり、CPUやI/Oの負荷が発生してパフォーマンスに影響を与えます。しかしこのケースでも、ユーザーからはCPUの稼働率が高いとか、特定のファイルへのアクセスが多いといった表面的な事象が見えるだけで、メモリを増やすという本当の“正解”は見えないままです。すべてのパラメータを可視化して検証できれば、こんなことはなくなります。

楽々チューニング&ベストパフォーマンスへの早道

 一般にパラメータには手出しできないと思われているSQL Serverですが、実はコマンドが非公開なだけで、その“隠しコマンド”さえ分かれば、いくらでもチューニングできる項目はあります。

 実際私は、75項目にも及ぶwait事象をはじめ、さまざまな事象を参照する方法を駆使して、複数のボトルネックを一度に分析・解決するノウハウを得ました。しかし、そうしたノウハウを一般の技術者が発見するのは、かなり難しいものです。まして日常の忙しい業務の中では、じっくりと研究している時間もないでしょう。そうした意味でもサードパーティ製の解析ツールを上手に活用して、問題点を可視化しながら具体的な解決策を探すことは、現実的でしかも効率の良い方法の1つといえるでしょう。

 海外ではSQL Serverのパラメータを可視化するツールは数多く出回っていますが、ここでは日本でも入手しやすい2つの製品を挙げておきます(チューニングに必要なすべての事象が見られるわけではありませんが、通常のパフォーマンスモニタでは見ることのできないさまざまなパラメータを可視化することが可能です)。

Quest Spotlight on SQL Server

  • クエスト・ソフトウェアが提供するSQL Server専用の診断ツール。I/Oレイヤからのアプローチを中心とした診断ツールで、ボトルネックの診断が行える。
  • 稼働状況をリアルタイムにグラフィカル表示して、従来のパフォーマンスモニタでは表示できなかった情報を提供。
  • サーバ側のエージェントなしで動作するため、システムのパフォーマンスに影響がほとんどない。
図3 Quest Spotlight on SQL Server 図3 Quest Spotlight on SQL Server

VERITAS Indepth for SQL Server

  • シマンテック(旧ベリタスソフトウェア)が提供する監視ツール。アプリケーションのパフォーマンスデータを収集して、データベースの問題点を分析。改善のためのアドバイスまでを提示する。
  • 階層内での問題を追求して、根本原因にまでさかのぼって解明できる。
  • 変更に伴う影響を、あらかじめシミュレーションできる。
図4 VERITAS Indepth for SQL Server 図4 VERITAS Indepth for SQL Server

 いよいよ次回からは、具体的なチューニングのノウハウを解説していきます。お楽しみに。(次回に続く)

監修者プロフィール

株式会社エイ・エヌ・テイ 執行役員/コンサルティング部長。

熊澤 幸生(くまざわ・ゆきお)

メインフレーム環境で20年近くデータベース関連のITプロジェクトを数多く経験。また1979年から1983年まで米国に駐在し、データ主導型システム設計を実プロジェクトで学ぶ。1994年、アスキーNT(現、エイ・エヌ・テイ)設立に参加し、SQL Server Ver 4.2からSQL Server 2000までシステム構築、教育にかかわってきた。現在同社執行役員 Chief Technology Officer。また、SQL Serverユーザー会「PASSJ」の理事として活動中。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。