|
○はじめに
皆さんは、データベースを運用管理するに当たって、パフォーマンスを測定しているでしょうか。
データベースのパフォーマンスを測定する際、どのようなツールを用いているでしょうか。
インターネットのコミュニティでもよく話題になりますが、パフォーマンスモニタやプロファイラなどは、手軽に使えるので、よく利用しているかと思います。
しかし、手軽な分、満足いく情報が得られない場合もあります。
今回は、アプリケーションの最適なパフォーマンスを確実に実現すためのアプリケーション サービス管理ソリューションとして定評のある
VERITAS i3 シリーズの中で、SQL Server に特化した VERITAS i3/Indepth for SQL Server に関してソフトウェアレビューをしました。
レビュー対象は、Version 7/Standard Edition 日本語版ベータとなります。
○環境
まず、今回使用するソフトウェアにあった環境を準備しました。
インストール要件を満たすマシンが手元に無かったので、いろいろと検討・調整した結果、デル株式会社様にご協力いただくことができました。
評価環境はこちらのとおりです。
OS インストール以外は、全て、検証用ネットワーク外からリモートデスクトップのコンソール接続にて作業を実施しました。
○VERITAS i3 の導入
Indepth/SQL Server をインストールする前に、事前に Performance Warehouse 用のデータベースと i3 に必要なアカウントの準備が必要です。
Performance Warehouse 用のデータベースは SQL Server 上に作成しておく必要があります。
要件として、初期データサイズに 2GB 以上とあるので、注意が必要です。
また、Performance Warehouse 用データベースへのログインには、SQL Server 認証が必要です。
インストールの際に必要なアカウントは、3つあります。
- i3 環境の管理者アカウント(デフォルト:admin)
- エージェントインストール用アカウント:ローカルの管理者権限が必要です。
- Performance Warehouse DB インスタンスへのログインアカウント:system administrator 権限が必要です。
上記を準備し、いざ、Indepth/SQL Server をインストールし始めました。
インストールでは、3つの段階があります。
- i3 環境の設定:各種ログインアカウントを登録します。
- 監視対象サーバの設定:監視対象のサーバを登録し、対象サーバに i3 Listener をインストールします。
- Indepth/SQL Server Agent のインストール:監視対象の SQL Server インスタンスに対し、Collector Agent をインストールします。
上記のうち、2. と 3. は、初期インストール後にも、監視対象のサーバやインスタンスの変更にあわせて、別途、管理画面から遷移することができます。
まずは、「1.i3 環境の設定」ですが、前述の 3 つのアカウントを順次設定していきます。
次に「2.監視対象サーバの設定」ですが、既定では、自分自身の DB が登録されています。
今回は、他の監視対象サーバへは、この時点で設定しませんでした。
最後に「3.Indepth/SQL Server Agent のインストール」です。
今回は、自分自身の DB インスタンスに対してインストールをしました。
これで、インストールが完了しました。
○Indepth for SQL Server へのログイン
無事インストールが完了しましたので、Indepth for SQL Server へログインします。
管理サーバは、Tomcat で稼動しているので管理画面は、Web コンソールとなります。
待ち受けポートは、既定で 20720 となりますので、サーバ vi3-00 上で Internet Explolere を起動し、http://vi3-00:20720/ と入力します。
#正常に待ち受けしているかどうかは、netstat コマンドで確認ができます。(*1)
vi3-00 は OS が Windows Server 2003 ですので標準でセキュリティが強化されており、ブロックのダイアログが出てきますので、このサーバを信頼済みサイトとして登録する必要があります。
登録が完了すると、index.html が返ってきて、Web GUI 用コンポーネントのダウンロードが開始されます。
この際、セキュリティの警告ダイアログが出ますので、「はい」をクリックしてインストールする必要があります。
無事完了するとログイン用の別のウィンドウが立ち上がりますので、i3 環境の管理者用アカウントでログインします。
すると、ログインウィンドウが消えて、Web GUI 用の別ウィンドウが起動します。
ここからが、実際の操作となります。
○Indepth for SQL Server の操作
Indepth for SQL Server には、以下のメインメニューがあります。
- ダッシュボード
- 現在
- アクティビティ
- オブジェクト
- 統計値
- SQL
- メンテナンス
「ダッシュボード」
監視対象全インスタンスまたはインスタンス毎の概況を把握することができます。
時間枠が指定でき、必要な範囲の時間帯の情報を見ることができます。
左右ペイン形式で、左ペインには常に各インスタンスごとの簡単な状況が表形式で表示され、右ペインでは、タブメニューで「全体」「統計値」「アプリケーション」「アクティビティ」を選択できます。既定では「全体」が表示されます。
また、右ペインで各タブを選択して表示された画面から更に詳細に選択ができるのですが、それらを選択すると、対応するメインメニューの各画面に遷移します。
この辺は、メニュー体系図が別途提示されていれば、もっとわかりやすくなると思います。
「現在」
各インスタンス毎の現在の概況が表示されます。
既定では、リストの一番最初のインスタンスが選択されます。
上ペインには、既定で「概要」と「MS-SQL(内部の)アクティビティ」がグラフ表示されます。その他、リストメニューから「tempdb 使用率」「ロック」「統計値」を選択して表示することができます。
下ペインには、既定で「セッション数」が表示されます。他に標準では「アクティブなセッション数」「ロックを保持しているセッション」「データベース」「ロックされたオブジェクト」を選択することができます。
「アクティビティ」
監視対象全インスタンスまたはインスタンス毎のアクティビティを見ることができます。
時間枠が指定でき、必要な範囲の時間帯の情報を見ることができます。
監視対象の全体インスタンスを選択するか各インスタンスを指定するかで表示内容が異なります。
上ペイン |
全体を選択した場合
| 「概要」
「MS-SQL[内部の](既定)」
「インスタンスのグループ化」 |
| 各インスタンスを選択した場合 |
「概要」
「ロック」
「MS-SQL[内部の](既定)」
「ロック待機」
「全体のアクティビティ」
「スケーラビリティ」
「システムのスケーラビリティ」
「可用率」 |
下ペイン |
全体を選択した場合 |
「インスタンス(既定)」
「マシン」
「データベース」
「ログイン」
「プログラム」
「ジョブ」
「作業の種類」
「SQL 文」
「バッチ」
「論理ファイル」
「ストレージデバイス」 |
| 各インスタンスを選択した場合 |
「データベース(既定)」
「プログラム」
「マシン」
「ログイン」
「論理ファイル」
「ストレージデバイス」
「SQL 文」
「共有 SQL 文」
「バッチ」
「作業の種類」
「ジョブ」
「表」
「セッション数」
「ロックされたオブジェクト」 |
アクティビティにおいては、かなりの情報が提供されています。
これらの情報をどのように使用するかは、利用する方しだいだと思います。
「オブジェクト」
各インスタンス毎のオブジェクトの情報が表示されます。
既定では、リストの一番最初のインスタンスが選択されます。
上ペインには、既定で「概要」が表示されます。その他、リストメニューから「SQL Server ログ」「インスタンス パラメータ」「インスタンス/データベースの変更」「作成/削除されたデータベース」を選択して表示することができます。
下ペインには、既定で「データベース」が表形式で表示されます。内容は、各データベースのデータサイズや OnLine か OffLine の状態などです。SQL Server の Enterprise Manager で見ることができるプロセス情報に似ています。
この他に標準では「論理ファイル」「ストレージ ユニット」を選択することができます。
「統計値」
監視対象全インスタンスまたはインスタンス毎の統計値を見ることができます。
時間枠が指定でき、必要な範囲の時間帯の情報を見ることができます。
監視対象の全体インスタンスを選択するか各インスタンスを指定するかで表示内容が異なります。
| 上ペイン |
全体を選択した場合
| 「概要(既定)」
「インスタンスのグループ化」 |
| 各インスタンスを選択した場合 |
「概要(既定)」
「CPU」
「負荷」
「IO パフォーマンス」
「IO 負荷」
「メモリー(ページフォルト)」
「メモリー割当て」
「メモリー(バッファープール)」
「ネットワーク」
「ロック」 |
| 下ペイン |
全体を選択した場合 |
「インスタンス」 |
| 各インスタンスを選択した場合 |
「データベース(既定)」
「ディスク」
「ネットワークカード」
「アクセス方法 - カウンタ」
「バッファマネージャ - カウンタ」
「全体の統計値 - カウンタ」
「ロック - カウンタ」
「メモリー - カウンタ」
「プロセス - カウンタ」
「SQL 統計値 - カウンタ」
「システム - カウンタ」 |
「SQL」
何か SQL 文を登録して使用するようですが、既定では、何も登録されていないので、このメニューを選択した場合、何か登録されるまで必ず「コンテキストに SQL 文がありません。SQL 文を開いてください」と表示されます。
この使い方については、もう少し勉強してみたいとおもいます。
「メンテナンス」
各インスタンス毎のメンテナンスの情報が表示されます。
既定では、リストの一番最初のインスタンスが選択されます。
上ペインには、既定で「概要」が表示されます。その他、リストメニューから「ジョブの変更」を選択して表示することができます。
下ペインには、既定で「ジョブ」が表示されます。内容は、ジョブの状態などです。この他に標準では「オペレータ」「アラート」「DB メンテナンス計画」を選択することができます。
○総評
・操作面
全体的にとても良い印象を受けました。
一部、操作方法が難しい箇所がありました。
ひとつは、詳細情報にドリルダウンしていくと、元のメニュートップページに戻る際、直接戻ることができない点です。戻る矢印で一階層ずつ戻っていく必要があります。
もうひとつは、ズーム機能です。グラフの時間軸の粒度を操作するものです。
機能としてはすばらしいのですが、一度いじると、最初のグラフに戻れませんでした。
・表示面
パフォーマンス管理ツールだけあって、グラフや表が多用されていて、しかもカラフルに色分けされているので、とても見やすいです。
グラフ表示では、グラフの棒や線上にマウスカーソルを載せると、詳細をバルーン表示してくれるので積み重ねグラフの薄い部分を見るときには助かります。
また、フィルター機能があり必要に応じて、見たい機能だけを絞ってビューを構成することができるので便利です。
あと、上記操作解説で、ペイン内の表示選択の説明に「標準で...」となっている箇所があるかと思いますが、それらの場合は、「その他...」を選択すると標準以外のメニューを作成してリストに入れることができます。
これも別の角度から情報を見ることができるようになるので便利な機能だと思いました。
・全体として
とても情報が豊富でこれら測定されたパフォーマンス情報をどのように扱うかは、運用管理する方次第だと思います。
SQL Server のデータベースをプロアクティブに、且つ継続して監視し続け、それを分析、ボトルネックを特定しチューニングするまで持っていくには、テクニックが必要だと感じました。
今後は、どのように運用管理していく方が良いのか、運用管理面の資料やトレーニングが必要となるのではないかと思います。
今回の評価では、実稼動しているデータベースに対しての測定ではないので、エージェントをインストールした際の影響に関してまでは調べ切れていませんが、そのような情報が提供されるようになると導入する方としては影響がわかって良いかと思います。
ほしい機能として専用印刷機能があります。Ctrl+P を押下すると IE の印刷機能が利用できるのですが、やはり専用の印刷機能があると便利ではないでしょうか。
・最後に...
機能が豊富にありすぎて全ての機能を十分に評価することができなかったと感じています。
できれば、今後も評価を続けることができればと思いますが、ライセンス制なので、またの機会にでも再度できればありがたいです。
あまり影響がなさそうな実運用環境に適用してみたいと考えています。
○おわりに
今回のソフトウェアレビューに関して、ソフトウェアを提供してくださいましたベリタスソフトウェア株式会社様に対しお礼を申し上げます。
また、評価にあたり機器をお貸しいただきましたデル株式会社様に対しお礼を申し上げます。
最後になりましたが、レビューの機会を与えてくださった PASSJ 事務局の方々には、大変感謝しております。
ありがとうございました。
|