VERITAS Indepth for SQL Serverの製品評価 |
実施期間:2005年1月 |
 |
|
レポーター:
金川 文弘 |
 |
|
|
|
今回VERITAS Indepth for SQL Serverの製品評価に申し込んだのは、導入から約1年を迎えたクライアント/サーバシステムの改善要望があったためです。要望には、パフォーマンスに関する項目が多く、どうやって調査し、改善していけばいいものか、手間をかけずに行えるツールがないものかと頭を抱えていたところでした。
調べてみますと、この製品はパフォーマンスの監視や分析、チューニングができるツールであることがわかり、希望にかなう製品であることから、システムの調査を行いながら、評価を行うことにしました。手順は、まずシステムの状況調査を行い、次に要望のあったプログラムの調査を行い、問題点を改修することにし、それらはすべてIndepthを使用することにしました。
1−システムの状況調査
ユーザを疑うわけではありませんが、本当にパフォーマンスが悪いのかをまず調査しました。このシステムは端末台数100台程度、LANで接続しており、基幹業務ではありますが頻繁に利用するものではありませんので、「ネットワークに負荷がかかっていることが原因」ではないと判断しました。さっそくIndepthのインストールを行い、SQL Serverのパフォーマンスデータを10日間採取しました。画面にはリソース消費情報や実行されたSQL文を色分けして表示しますので、多くの情報を把握するには非常にわかりやすく、改善箇所の特定は容易に行うことができました。これは今回のような用途ではなく、通常時の運用・管理でも使えそうで、「何時に何があったのか」は画面をみれば簡単にわかると思いました。
いろいろな機能の中でも、実行されたSQL文のコードを表示できる機能には特筆すべきものがあると感じました。以前障害発生時に何が実行されてどうなったのか、プログラムソースレベルではわかっていましたが、障害が再現せず満足な調査もできない、原因特定もできないまま仕方なくバックアップからのリストアを行ったことがありました。その時から、どのような処理が実行され、SQL文の単位でいつ何が実行され、どうなったのかがわかればいいなと思っていました。一度トランザクションログを解析できるソフトを試したことがありますが 、
- 表単位でしか解析できない
- トランザクションログが更新系の情報しか持っていないため、検索系の情報は追跡することが
できない
- 複数の表を1トランザクションで処理するSQLは追跡するのが容易ではない
などの理由から、それ以上は使いませんでした。
その点Indepthでは、
- 時系列で表示される
- 検索系の情報も保持している
- ストアドプロシージャ単位でも、その中の1SQL文単位でどちらの情報も見ることができる
ので、非常にわかりやすいと思いました。(私にとっては、大変ありがたいと感じました。)
2−プログラムの調査および改善
改善要望のあったプログラムを分析しました。
あるストアドプロシージャでは、(テストを十分したはずでしたが)Where条件が足らなかったため意図しない余計なデータまで抽出しており、Index Scanやjoinに多くのコストがかかっていたことがわかりました。コスト情報の表示はクエリアナライザでもできますが、このストアドプロシージャを分析した結果、どこを見ればいいのかがわからないくらいに複雑であったため、どうしていいかひと目ではわかりませんでした。
またあるプログラムでは、インデックスの考慮不足で非常に広範囲のデータにロックをかけてしまっており、他のプログラムは待たされていることもわかりました。
Indepthの情報を基にSQL文の見直しとインデックス再設定の検討および改修を行いました。その結果、満足のいくパフォーマンスが得られました。
それ以外にも試してわかったことですが、IndepthはSQL文の制約要因がCPUかI/Oかの判断も行ってくれます。画面上にDBの実情がわかりやすく表示され、例えばメモリのチューニングや、I/Oの集中する表を別ドライブに作成したセカンダリ・ファイルグループに移設するといった、SQL Server管理者が普段あまり行わない(といえば怒られますが)、「システムを快適に稼働させるためのチューニング」を行うきっかけになると思います。
残念だったのは、Webアプリとして動作しているようで、Windowsアプリのような凝った作りはされていなかったことです。私が使っていたパソコンのモニタが15インチで、1024x768以上には解像度が上げられなかったため、せっかく有用な情報が表示されているにもかかわらず、ListViewのような表の列幅が自由に調整できず、見にくく感じました。この点だけでも改善されればいいなと思います。
一連の作業を行った結果、システムの改善要望には予想以上に短期間で効果的な作業を行えたので、非常に感謝しております。この製品を使わなかったら・・・と考えますとゾッとします。
3週間使ってみて、非常にいい印象を持ったIndepthでした。 ありがとうございました。
|
| |
| |
|
 |
 |
|
|
 |
(C) 2005 Professional Association for SQL Server Japan. All rights reserved. |
 |