Database Performance Analyzer

データベース監視ツールDatabase Performance Analyzer (旧Ignite)

DPA 導入ガイド:

DPAに初めてサインインした際に概要動画を見逃した場合、トレンドページの右上に「詳細を見る」タブが配置されています。

image.png

注釈:

 注釈は、パフォーマンスに影響を与える可能性のある変更(インデックスの追加、クエリのチューニング、リソースの追加など)を行う際に使用します。注釈はすべてのトレンドチャートおよびタイムスライスチャートに表示されます。変更前後のパフォーマンスデータを比較することで、変更がどのような影響を与えたかを確認できます。

  • DPAホームページから、変更の影響を受けるデータベースインスタンスの名前をクリックします。
  • トレンドチャートの右上にある「注釈を追加」をクリックします。

image.png

  • 注釈に名前を付け、追加日時を指定し、変更内容とその理由の詳細を記入してください。保存をクリックします。注記:DPAサーバーが異なるタイムゾーンにある場合は、DPAサーバーの時刻を入力してください。

image.png

  • 注釈はチャート上にフラグとして表示されます。フラグにカーソルを合わせると概要が表示され、クリックすると詳細が表示されます。

image.png

リソースのカスタマイズ: カスタムメトリックしきい値:

リソースメトリックは、データベースの健全性を監視し、リソース競合とデータベース待機時間の増加を関連付けるために使用されます。リソースメトリックのグラフは、メトリックが警告または重大なしきい値を超えたことを示します。事前設定されたしきい値は、環境の要件に合わせて変更できます。メトリックに既定のしきい値が設定されていない場合、デフォルトのしきい値を追加できます。監視対象のインスタンスはすべて定義されたしきい値以下である必要があり、特定のデータベースインスタンスのみを対象とすることも可能です。カスタムしきい値は「デフォルトとして保存」をクリックすることで、すべてのインスタンスのデフォルトとして保存できます

  • 現在のしきい値を表示するには、確認したいリソースメトリックのしきい値を持つデータベースインスタンスをクリックします
  • リソースをクリック

image.png

  • 新しいしきい値を入力してください:

– メトリックにデフォルトのしきい値がない場合、有効にしたい各しきい値レベルの横にあるトグルスイッチをクリックします。

– 警告レベルと重大レベルの双方を有効にする場合、両レベルの交点に同じ値を入力します:

  • より高い値でアラートが発生するメトリックについては、警告の最大値と重大の最小値と同じ数値を入力します。

– DPAは値が警告範囲内(範囲を含む)の場合に警告アラートを発行します。DPAは値が最小重大閾値を超えた場合に重大アラートを発行します。

– 例:ステップ1で示したしきい値の場合、値が10から20の間にあればDPAは警告アラートを発行します。値が20を超えると、DPAは重大アラートを発行します。

  • 低い値でアラートが発生するメトリクスの場合、警告の最小値と重大の最大値に同じ数値を入力します。

– DPAは、値が警告範囲(範囲内を含む)にある場合に警告アラートを発行します。DPAは、値が最小重大しきい値未満の場合に重大アラートを発行します。

– 例:下記のしきい値の場合、DPAは値が90から95の間に警告アラートを発行します。DPAは値が90未満の場合に重大アラートを発行します。

  • 次のいずれかを実行します

このデータベースインスタンスのみに新しい値を適用するには、[保存]をクリックします。

すべてのデータベースインスタンスに新しい値を適用するには、[デフォルトとして保存]をクリックします。

  • [デフォルトとして保存]を選択した場合、インスタンスごとにカスタムしきい値が指定されていない限り、新しいデフォルトしきい値がすべてのデータベースインスタンスに適用されます。カスタムしきい値が設定されているデータベースインスタンスは、引き続きそれらのしきい値を使用します。

追加リソース: カスタムリソースしきい値

アイドルブロッカーの特定:

 アイドルブロッキングは、セッションがトランザクションを開いた(リソースにロックを設定した)後、明示的にコミットまたはロールバックを行わなかった場合に発生します。トランザクションは、現在作業が行われていないにもかかわらず、開いたままになります。アイドルブロッカーが存在するかどうかを確認するには、次の手順を実行します。

  • パフォーマンスが低下しているサーバーに移動します
  • 日付でフィルタリングします

image.png

  • ページの一番下までスクロールしてください

image.png

  • 調査するには、バーまたは軸ラベルをクリックしてください。

 

カスタムアラートの作成: テンプレートとして使用できるカスタムスクリプトがいくつか投稿されています。

  • ホームページで、右上の「アラート」をクリック
  • アラートの管理」をクリックimage.png
  • アラートカテゴリとして「カスタム」を選択し、アラートタイプを選択してから、「アラートを作成」をクリックします。

image.png

  • アラート情報セクションでは:

– 一意の名前を入力します

– アラートを無効にするには、[有効] チェックボックスをオフにします

– 実行間隔を選択します。(DPAでは、実行間隔を少なくとも10分以上にすることを推奨します。)

– メール通知と共に送信する通知テキストを入力します。問題の説明と推奨される解決策を含めてください。

– アラートが適用されるデータベースインスタンスを指定します。これにより、SQLクエリまたはストアドプロシージャが(DPAリポジトリではなく)対象インスタンス上で実行されます。1つ以上の条件を満たすインスタンスは、手動で選択するか、ルールを使用して検索できます

  • ルールを選択すると、DPAはルール条件に基づいてアラートが監視するインスタンスを決定します。環境が変更されるたびに、インスタンスのリストは自動的に更新されます。

– [ルールを使用]をクリック

– [ルール]ページには既存のルールが一覧表示されます

– 既存のルールを選択するか、新規ルールを作成して選択します。

– [ルールの割り当てをクリア]

– アラート定義には、選択したルール名、ルール式、および現在ルール条件を満たしているインスタンスの一覧が表示されます。

image.png

  • データベースインスタンスを手動で選択する場合、リストは静的です

– [データベースインスタンスの選択] をクリックします。

– 利用可能なデータベースインスタンスページにはデータベースインスタンスが一覧表示されます。アラートタイプが特定のデータベースタイプに限定されている場合、該当タイプのインスタンスのみが表示されます。

– 検索バーを使用してインスタンスを検索するか、フィルターを適用してリストを絞り込みます

– リスト内の全インスタンスを選択するには、リスト上部のチェックボックスを選択します。個々のインスタンスを選択するには、各インスタンスの横にあるチェックボックスを選択します。

– [割り当て]をクリックして戻る

– アラート定義画面に選択したインスタンスの一覧が表示されます。

image.png

 

  • アラートパラメータセクション

– 実行するSQL文を入力するか、ストアドプロシージャの呼び出しを入力します。カスタムタグを使用して、データベースIDなどの変数や、ストアドプロシージャに必要な出力パラメータを含めることができます。

– [実行対象]ドロップダウンで、SQL文またはストアドプロシージャを、選択したデータベースインスタンスに対して実行するか、DPAリポジトリデータベースに対して実行するかを指定します。

– [説明]フィールドが利用可能な場合、アラート用のカスタム説明を入力できます。この説明は、メールテンプレートに[説明]パラメータが含まれている場合、アラートタイプのDPAデフォルト説明に置き換わります。

– アラートが数値を返す場合、返される値の単位を指定します。

  • アラートが数値を返す場合、有効にする各アラートレベルのしきい値を指定します。

– 最高レベルの最大値は空白のままにすると、そのレベルの最小値を超えるすべての値に対してアラートが通知されます。

– 複数のレベルを設定する場合、下位レベルの最大値は必ず等しい上位レベルの最小値に設定してください。

– レベルの最大値を入力すると、値が最小値を上回るか等しいが、最大値を下回る場合に、DPAはそのレベルでアラートを通知します。例えば、最小値が5で最大値が10の場合、値が5以上10未満のときにDPAはそのレベルでアラートを通知します。

image.png

  • 各アラートレベルがトリガーされたとき、およびアラートが解除されたときに通知を受け取る個人またはグループを選択します(アラートステータスは、実行中にエラーが発生した場合に「解除」に設定されます)。アラートが「正常」に戻ったときに通知を送信するには、「正常」の受信者を選択します。アラートが「正常」に戻ったときに通知を送信するには、通知ポリシーが「レベル変更時に通知」である必要があります。
  • このアラートによって送信されるメール通知の内容を定義するメールテンプレートを選択します。
  • [メールプレビュー]をクリックすると、選択したメールテンプレートと連絡先情報を使用して生成されるメールの例を確認できます。

– アラートが複数のデータベースインスタンスに適用される場合、[メールプレビュー]ダイアログボックスでインスタンスを選択し、[OK]をクリックします。メールを確認後、別のデータベースインスタンスを選択するか、[キャンセル]をクリックして[メールプレビュー]ダイアログボックスを閉じることができます。プレビュー中に評価できないアラートパラメータがあるため、ユーザーに送信されるメールはプレビューと完全に一致しない場合があります。

  • アラートをテストし、現在のアラートレベルを確認するには、[アラートテスト] をクリックします。テストではメールは生成されません。
  • [保存] をクリックします。

追加リソース: カスタムアラートのドキュメント

 

Name SQL ステートメント

  • 適切なサーバーをクリックしてください
  • チャート内のハッシュ値(トップSQLステートメントの右側)をクリックしてください。注:SQLステートメントはデフォルトでハッシュ値によって識別されます

image.png

  • 右上の「SQL プロパティ」をクリックします
  • SQL 名フィールドに名前を入力します。

image.png

  • 保存をクリック
  • 現在のページの左上にある戻るをクリックして前のページに戻ります

image.png

Kill SQL Session (DPA)

  • パフォーマンスが低下しているサーバーに移動する
  • ページの左上にある「日付と時間」でフィルタリングする

image.png

  • 下にスクロールして「アクティブなセッションを表示」をクリックしてください。

image.png

  • ロックまたはブロックタブをクリック
  • アクションのドロップダウンメニューをクリックし、「KILL」を選択

image.png

 

Database Performance Analyzer (DPA): 2024.4

Database Performance Analyzer (DPA) 2024.4 ソフトウェアの提供のお知らせです。

  • 柔軟なデータベースライセンス: セルフホスト型データベース製品に対するライセンスの付与方法を変更しました。 セルフホスト型ライセンスを1つ取得するだけで、ニーズに合わせてDPAを使用できます。 Azure SQL Databaseを監視している場合は、DBaaS環境専用の分割コストライセンスも導入しました。これにより、クラウドデータベースを簡単にコスト効率よく組み込むことができます。詳細については、担当のアカウントマネージャーまでお問い合わせください。
  • MySQL/Percona MySQLワークロード分析は、SQL Server、Oracle、PostgreSQL(実行計画収集)用の強力なDPA機能、インデックスアドバイザ、テーブルチューニングアドバイザなど、人気の高い機能が含まれています。
  • また、MySQL に関するセキュリティ対策も改善し、caching_sha2_password 認証をサポートするようになりました。チューニングアドバイザと併用することで、MySQL ユーザーの大幅な増加が見込まれます。
  • セキュリティを念頭に置き、お客様からご要望のあった Windows のグループ管理サービスアカウント(gMSA)認証もサポートするようになりました。
  • Oracle 関連では、Oracle のマルチテナント・アーキテクチャ上のターゲットとしてCDB をサポートするようになりました。これにより、より広範なアラート機能と可視性機能を備えた PDB を活用するインスタンスの全体像が完成しました。

 

Database Performance Analyzer (DPA):2024.3

Database Performance Analyzer (DPA)と の最新統合機能として、ServiceNow®とPagerDuty®を発表できることを嬉しく思います。この機能強化は、多くの要望に応えるもので、アラート通知を拡張し、IT運用をこれまで以上に効率的かつ迅速に行うことを可能にします。
DPAは、ServiceNow®とPagerDuty®に直接アラートを送信できるようになり、より効率的なワークフローが可能になりました。これにより、インシデントとイベントをより効果的に管理できるようになり、ITイベントの適切な通知、追跡、論理的なワークフローを確保できます。

動作方法
この統合により、SolarWinds Platform Connect 経由で SQL Sentry と DPA が貴社の ServiceNow® および PagerDuty® アカウントに接続されます。 設定が完了すると、DPA によって生成されたアラートは自動的にこれらのチャネルに送信され、IT チームはリアルタイム通知を受け取ることができ、問題が発生するとすぐに適切な優先順位付けと対処が行われるようになります。

統合のメリット
対応の迅速化:ServiceNow®とPagerDuty®にリアルタイムのアラートが送信されるため、チームはインシデントに迅速に対応でき、ダウンタイムを削減し、システムの信頼性を向上させることができます。

●インシデント管理の一元化:この統合により、すべてのITイベントを一元的に管理できるようになります。一元化によりワークフローが簡素化され、問題の追跡と解決が容易になります。
●業務の合理化:新しい統合により、適切なタイミングで適切な担当者にアラートが送信されることが保証されます。これにより、ITイベントやインシデントの優先順位付けと管理がより効果的に行われ、リソースが最適に利用されることが保証されます。
●すべてのサブスクリプション顧客が利用可能
この機能は、追加費用なしで、すべてのサブスクリプション顧客が利用可能です。これは、お客様のITインフラストラクチャを効率的に管理するための最高のツールと統合を提供するという、当社の継続的な取り組みの一環です。

7. Database Performance Analyzer (DPA)でデータベースのチューニングはどのように行われるのですか?

Database Performance Analyzer (DPA)は、ユーザーがデータベースパフォーマンスの問題を監視、発見、解決できるように構築された、俊敏でスケーラブルなデータベースチューニングツールです。

 

DPAは、データベースアクティビティ、待機時間、SQLステートメント、アプリケーションリクエスト、およびその他のディメンションを相関させ、データベース速度低下の原因を正確に突き止めることができるように設計されています。 DPAでは、IBM DB2、SQL Server、SAP Adaptive Server Enterprise(SAP ASE)などの主要な商用データベースについて、SQLステートメントの迅速な分析、パフォーマンス問題の根本原因の特定、専門家のチューニングアドバイスを受けることも可能です。

6. データベースチューニングツールはどのように機能するのですか?

データベースチューニングツールは、通常データベースチューニングに時間がかかる手動プロセスの多くを自動化することによって、チューニングプロセスを容易にするように設計されています。

 

また、データベース・チューニング・ソフトウェアは、問題のある箇所を正確に把握できるため、クエリーやアプリケーションの中を探し回る必要がなく、効果的なトラブルシューティングの手段にもなります。見えない問題を解決することはできません。これらのツールは、データベースがどのように動作しているかを概観することができます

5. なぜデータベースのチューニングが重要なのか?

 

データベースクエリーの数ミリ秒の遅れは、あっという間に大きなボトルネックとなり、修正するのに長い時間がかかることがあります。データベースのチューニングが重要なのは、クエリの応答時間を数秒単位で短縮できるため、必要な情報を必要な場所にすばやく届けることができるからです。定期的なチューニングは、データベースパフォーマンスのベストプラクティスの重要な部分であり、アプリケーションのパフォーマンスを加速させる手っ取り早い方法となります。

4. データベースのチューニングはどのように行われるのでしょうか。

データベースのパフォーマンスチューニングのベストプラクティスに関して、ここでは簡単なチュートリアルを紹介します。

 

1)過去のデータを使って「正常」であることを確認し、データベースのベースラインに関する情報を収集します。ベースラインの指標を収集することで、データベースに何か異常があるかどうかを簡単に(そしてはるかに速く)確認することができます。

 

2)実行プランに目を通す。MySQL では、データベース管理者がクエリおよびデータベースのパフォーマンスを調査するためのさまざまな方法を提供しています。実行プランに目を通し、可能な限り効率的であることを確認します。

 

3)すべてのテーブル、インデックス、クエリに非効率性がないかを確認します。待ち時間の増加やインデックスのカラムアライメントを確認します。

 

4)ボトルネックを特定し、解消する。問題のあるSQLクエリとその原因を特定し、ボトルネックを解決する。

 

5)効果的な監視を実施する。非効率的なクエリは、データベースのパフォーマンス問題の主な原因であるため、データベースのチューニングの大部分はクエリパフォーマンスの監視に費やされます。たとえば、SolarWinds Database Performance Analyzerは待機ベースの分析機能を備えています。これは、時間関連の問題がデータベースパフォーマンスチューニングの最も顕著な問題点の1つであるためです。この方法は、データベースパフォーマンスチューニングの問題をより正確に切り分け、特定し、調査するのに役立ちます。

3. データベースのパフォーマンスを向上させるにはどうすればよいですか?

ここでは、データベース全体のパフォーマンスを向上させるために役立つヒントをいくつか紹介します。

 

●インデックスが論理的なデータ構造を実装していることを確認し、データ検索プロセスをより効率的にする。
●コンピューティングシステムのメモリーの予備を再割り当てする。十分なメモリがない場合、データベースはしばしば最も大きな打撃を受けます。
●MySQLやOracleの最新版を使用していますか? データベースを最新に保つだけで、データベースのパフォーマンスが向上することがあります。
●ループのコーディングや相関性のあるSQLサブクエリのような一般的なSQLインデックスの落とし穴を避ける。
●データをデフラグすることで、データベースのスピードアップにつながるかもしれません。十分なディスク容量があることを確認する。
●効果的なデータベースチューニングとパフォーマンス監視は、洞察とピンポイントでのパフォーマンス最適化の推奨事項を提供するのに役立ちます。

2.SQLパフォーマンスチューニングとは何ですか?

SQLパフォーマンス・チューニングは、データベース・パフォーマンス・チューニングと似ていますが、より狭い範囲に限定されます。SQLパフォーマンス・チューニングは、リレーショナル・データベースが可能な限り効率的に動作するように設計されたベストプラクティスや手順のことを指します。これには主に、SQLクエリーとインデックスのチューニング、管理、および最適化が含まれます。

 

定期的な SQL パフォーマンス・チューニングは、SQL パフォーマンス問題の一般的な原因である非効率的なインデックスと SQL クエリに取り組む費用対効果の高い方法であり、リソースを再割り当てしてシステムを自助努力で使用することによって実現できます

1.データベース・パフォーマンスチューニングとは?

データベース・パフォーマンスチューニングは、データベース管理者がデータベースを可能な限り効率的に実行する方法を指す広義用語です。DBMSチューニングは、通常、MySQLやOracleなどの一般的なデータベース管理システムのクエリをチューニングすることを指します。

 

データベースのチューニングは、全体的なパフォーマンスを向上させるために、データベースシステムを上から下まで、ソフトウェアからハードウェアまで、再最適化することを支援します。このチューニングには、最適な使用方法に応じたオペレーティングシステムの再構成、クラスタの展開、システム機能とエンドユーザー体験をサポートする最適なデータベース性能への取り組みが含まれます。

[初めに]このカテゴリーについて[Database Performance Analyzer (旧Ignite) について]

データベースのパフォーマンスモニター・分析ツール「Database Performance Analyzer(DPA)」についてよくある質問の一覧です。

 

本サイトはこちらです。

複数のデータベースタイプに対応した堅牢な異常検知ツールを利用する


環境の大規模化・複雑化に伴い、データベース管理者は、様々な種類のデータベースを監視できる異常検知ツールを必要としています。Database Performance Analyzer(DPA)は、WindowsおよびLinuxサーバー上の仮想化、物理、クラウドベースのデータベースインスタンス、Azure、またはAWSサブスクリプションとして、1回のインストールで使用できる異常ベースのデータベース監視ツールを提供します。DPAの異常検知ツールは、Oracle、MySQL、Azure SQL Database、Microsoft SQL Serverなどをサポートするよう構築されています。また、DPAはVMオプションでVMware ESXiの可視化機能を統合しています。

SQLデータベースの異常検知に利用可能な最新データを活用する


データベースの異常検知ツールは、そこに入力されるデータによってのみ、その性能が発揮されます。Database Performance Analyzer(DPA)は、24時間365日、異常ベースの監視を行い、機械学習アルゴリズムにより最新の洞察を提供します。30日以上監視が停止した場合、DPAのアルゴリズムは古いデータに基づいて予測を行うことはありません。代わりに、DPAは新しいデータから学習を開始し、3日後に最新のデータに基づいて再び予測を開始します。この機能により、異常検知の取り組みが最新の関連データのみによって裏付けられていることを確認することができます。

重大な動作の変化を警告するように設計された異常検出ツールを使用して、効果的なトラブルシューティングを行うことができます。

データベースの異常を検出することも重要ですが、24時間365日ダッシュボードを見続ける人はいないため、Database Performance Analyzer(DPA)は動作の変化を検出した際にアラートを送信することが可能です。感度を快適なレベルにカスタマイズしてノイズを減らし、DPAに監視を任せてください。

 

 

DPAはデータベースを常時監視し、動作の変化が検出されるとアラートを送信します。この異常検知ツールは、ワークロードのシフト、メンテナンスジョブの営業時間内実行、その他調査したい予期せぬ変化が発生したときに知らせることができます。

スパイクを超えた、異常ベースのデータベース監視の深化化

データベース管理者は、データベースのパフォーマンスにおけるスパイクに注目しがちです。これは問題のある動作を特定する良い方法ですが、動作のスパイクを分析することだけがパフォーマンスの変化を示す指標ではありません。実際、ほとんどの実稼働データベースでは、パフォーマンスの変動は正常であり、予期されるべきものです。データベース管理者は、予想される変動を考慮し、予期しないものを呼び出す方法を必要としています。

Database Performance Analyzer(DPA)のスマートなSQLデータベース異常検知は、スパイクを越えて、予想される変動を考慮し、何か予期せぬことが起きたときに指摘することができます。この異常検知ツールは、そのような事象をハイライト表示し、標準から逸脱した事態を知るための複数の方法を提供します。

異常検知ツールでデータベースの待ち時間動作パターンを自動学習

狭い知識に頼っていると、新しい人がそれを習得するのは難しいです。また、大規模な環境では、深く広く理解することができない場合もあります。狭い知識の必要性を排除し、Database Performance Analyzer(DPA)の機械学習アルゴリズムに正常な動作パターンの「理解」の自動化を任せましょう。重要なリソースが異動したときに知識が流出しないように、知識を自動化して保持し、チーム全員の利益につなげます。

DPAの機械学習アルゴリズムは、時間の経過とともに賢くなるように設計されており、より多くのデータを収集することで予測精度を向上させます。

Database Performance Analyzerの総合満足度(ユーザ3の声)

使用例と導入範囲

当社では、Database Performance Analyzerを使用して、データベース全体の健全性におけるプロアクティブなパフォーマンス監視と異常検出を行っています。この製品によって、データベースパフォーマンスの全体像を初めて見ることができます。また、アラートとメール通知を設定することで、時間を大幅に節約しています。私たちが最もよく使うケースは、実行プランの変更に対応し、システムのエンドユーザーがパフォーマンスの問題や応答時間について不満を持ち始める前に適切な措置を取ることです。

 

長所と短所

(+)機械学習による異常検知 – バージョン12の新機能で、統計的分析が非常に便利です。
(+)日次と年次で作業量を比較することで、成長の全体像を把握し、キャパシティを考慮することができます。
(+)直感的なパフォーマンス分析 – 問題点を簡単に調べ、根本的な原因を見つけることができます。
(-)過去2回のバージョン12.0と12.1では、ソーラーウインドは素晴らしい機能拡張を行いました。現在、変更してほしいところはありません。ユーザー・インターフェースに多少の美観はありますが、問題だとは思っていません。

 

投資対効果

●定量的なデータは提供できませんが、実際にプラスの影響を与えた例をいくつか挙げることができます。
●インターネットバンキングのアプリケーションで、思うように動作しない点がいくつかありました。DPAを使用して、最も重いSQLクエリを特定し、ベンダーに変更依頼を開始しました。変更後、レスポンスタイムを1桁短縮することができました。

Database Performance Monitorのチューニング
私たちの組織では、テーブル・チューニング・アドバイザーを使って、ある MS SQL サーバーの統計情報を追加で作成しました。

 

ベストバリュー

環境のアップグレードの支援(該当する場合) – 私たちは、製品のバージョンからバージョンへのアップグレードを何度も行いました。一度だけ問題が発生しましたが、非常に迅速に修正されました。実は、その問題に対して私が推薦したのですが、彼らは最初に回避策を与えてくれました。全体的にとても満足しています。

Database Performance Analyzerの総合満足度(ユーザ2の声)

使用例と導入範囲

データベースチームが、SQL ServerとAzure Databasesの両方で、データベースのパフォーマンスを監視し、チューニングするために使用しています。データベースの遅さ、Webサイトやサービス、アプリケーションでのタイムアウトは、データレイヤーが原因であることが多く、そのトラブルシューティングに最適なツールです。

 

長所と短所

(+)どのストアドプロシージャーのどのステートメントに作業が必要か、または致命的であるかを教えてくれる(該当する場合)。
(+)本当に作業が必要なものに注意を集中させることができ、非常に効率的です。
(-)監視するサーバーが多い場合、UIが不便になる。
(-)複数のサーバーにまたがる問題の順位付けができない。

 

投資に対するリターン

現在の勤務先ではなく、以前の勤務先での話です。データベースの変更を含む、大量のコードをデプロイしたことがありました。その翌日、そのデータベースサーバーに依存していたすべてのものがダウンし、サーバーはCPU、RAM、I/Oが100%になるまで叩かれました。何が問題なのかを正確に特定するのは非常に困難でしたが、Database Performance Analyzerを立ち上げて正確な問題を見つけるのにわずか数秒、そして問題のあった正確なprocにパッチを当てるのに1分もかかりませんでした。会社全体がビジネスに不可欠なサイトやツールからロックアウトされ、トレースやDMVなどの手段で問題を分析するのに何時間もかかったかもしれません。その代わり、ほとんど時間がかからなかった。

Database Performance Analyzerの総合満足度(ユーザ1の声)

使用例と導入範囲

アラートを利用して問題を未然に防いでいます。パフォーマンスデータを使って問題を診断し、解決しています。ダッシュボードとドリルダウンを使って、現在の状況を把握し、うまくいっているかどうかを確認します。全体的なレスポンスタイムの急上昇や急降下を監視し、ユーザが体験しているUXの原因を理解しようとしています。

 

長所と短所

(+)この製品は、管理やパフォーマンスチューニングに必要なデータを、数秒で理解できるように可視化することに優れています。OracleのようなデータベースにはAWRレポートがあり、何ページもあり、すべてテキストで、読みにくいです。SQL Serverには動的な管理ビューがありますが、良いものですが簡単にアクセスできません。 Database Performance Analyzer (DPA)は、このようなレポートをすばやく理解し、実行できるようにレイアウトします。

 

(+)DPAは、実際に何が起こっているのかを教えてくれます。

例:開発者は、このストアドプロシージャはこのRDBMSでは非常に遅く実行されるが、別のRDBMSでは電光石火のように実行されると述べています。チューニングを試みたが効果がなかった。
そこで、DPAで数分かけて状況を調査したところ、ストアドプロシージャは正常に動作していることがわかりました。その代わり、アプリケーションがプロックに関するメタデータにアクセスしようとする際に、速度が低下していることがわかりました。その結果、メタデータをキャッシュするようになり、今では「遅い」プロックが快調に動作しています。DPAがなければ、微調整すべき正しいコードを探すのに長い時間がかかっていたでしょう。

 

(+)内蔵のアラート機能を使って、カスタムアラートを作成できるのは素晴らしいことです。カスタムアラートは、監視しているデータベースや、DPAが収集したデータから、OS、ストレージ、ネットワークなど、関連する部分まで情報を収集することができます。

 

(-)素晴らしい製品で、ほとんどのことがうまくいっています。必要な情報に少ないクリックでアクセスできるように、UIを改善し続けて欲しいと思います。

 

(-)DPAの競合他社が持っている機能で便利そうなのは、ジョブの実行時間をマッピングして、問題が発生したときに時間単位でマッピングできるようにすることです。

 

 

投資対効果

●問題発生時に対応するのではなく、問題を未然に防ぐことができるのは貴重なことです。顧客サービスのレベルも格段に上がりました。

●私が別の機会を求めて退職することを聞いた開発部の不機嫌な部長は、「今までいた最高のDBAをどうして手放すんだ」と上司を叱咤激励しました。 Database Performance Analyzerを使って提供できるサービスのレベルが、私が優れたDBAになるのに役立ちました。

 

Database Performance Analyzerの貴重な洞察

あるデータベースサーバーで、サードパーティの製品を使用していました。DPAのバーチャートは、1つのSQL文による多くの待ち時間を表していました。その文は実行に数ミリ秒しかかかりませんが、1日に数百万回実行されていました。どうしてその文がそんなに頻繁に実行されなければならないのか?私の上司の上司が、そのデータベースを作成している会社のオーナと知り合いで、私が見つけたものを送ってくれたのです。そして修正してもらったのです。

 

Database Performance Monitor のチューニング

[Table Tuning Advisors]は、全体的なガイダンスを与えてくれます。しかし、Query Advisorsは、しばしば特定の提案インデックスを持ち、それをコードウィンドウにコピー&ペーストするだけで、多くのことができます。私はしばしば、実行する前にそれらを微調整し、一部は役立ちませんでしたが、全体として、それらはパフォーマンスにとって非常に有用でした。大きなテーブルで適切なインデックスを使用すると、パフォーマンスが文字通り何百倍も、時には3,000%も向上することがあるのです。

 

仮想化データベース

そのためには、問題があなたのVMにあるのか、それともホストにあるのかを理解する必要があります。サーバ管理者とオーバープロビジョニングについて議論する必要があるのか、それともデータベースサーバーのVM内でよりコントロールできる問題なのかを?

 

DPAの1週間あたりの時間節約額

一人当たり週0-4時間の時間節約 :アラートがないと、反応モードで時間を浪費し、顧客のエクスペリエンスが損なわれます。分析と棒グラフがなければ、問題を診断して修正するために時間を浪費することになります。何度もクエリーを実行する必要がある場合、全体像を一目で把握することができず、時間を浪費してしまいます。

 

推薦する可能性

管理するインスタンスが何十台もある場合、ダッシュボードはとても便利です。履歴が残るので、昨日や週末に起こった問題を診断したり、毎日同じ時間に起こるのか、毎週同じ曜日に起こるのか、などのパターンを確認することができます。