sql >> データベース >  >> RDS >> Sqlserver

あなたを驚かせるかもしれないデータベースパフォーマンスモニタリングについての10の事実

    DBAの役割に不慣れであるか、ベテランであるかにかかわらず、パフォーマンス監視プロセスを改善または合理化する方法は常にあります。ここでは、パフォーマンスの問題をより効率的に解決し、DBAの役割の満足度を高めるのに役立つデータベースパフォーマンスモニタリングに関する10の事実を示します。

    事実1:すべてがオンラインで、リソースに圧力がかかっていない場合でも、データベースのパフォーマンスが低下する可能性があります

    データベースのパフォーマンスが最適ではなく、すべてがオンラインで消費が正常であることを確認した場合は、問題の原因を見つけるためにさらに詳しく調べる必要があります。データベースクエリオプティマイザで使用されるクエリプラン、結合、またはフィルタを確認します。必ず確認してください:

    • 非効率的なクエリプラン
    • データスキュー
    • 存在しないインデックス
    • 管理されていないデータベース統計
    • 不十分なデータベース設計、ブロック、またはデータベーススキーマの変更

    DBAの要点:明らかなイベントや停止がない場合は、最初に非常に遅いクエリを探すことで、根本原因の特定をスピードアップできます。

    事実2:アジャイル開発の実践はデータベースのパフォーマンスに大きな打撃を与える可能性があります

    アジャイルとDevOpsの普及により、品質が向上し、プロセスが合理化されましたが、継続的デリバリーとデプロイは、データベースのパフォーマンスに逆の影響を与える可能性があります。

    アジャイルまたはDevOps環境では、パフォーマンスの問題の考えられる原因は次のとおりです。

    • テーブル、関数、ビューなどのデータベースオブジェクトの追加、変更、または削除
    • パーティションのないテーブルに行を追加する
    • テーブルにインデックスを追加する

    変更を加えた後にスループットベースラインを作成し、データベーススキーマの変更をリアルタイムで監視することで、新しいバージョンでパフォーマンスの問題が発生するリスクを軽減できます。

    DBAのポイント:変更による潜在的な影響を予測することで、後で予期しない事態を回避できます。

    ファクト3:データベースログには、パフォーマンスメトリクスでは利用できない多くの情報が含まれています

    もちろん、パフォーマンスメトリックを監視および追跡する必要がありますが、これらのメトリックだけに依存していると、多くの貴重なパフォーマンス情報を見逃してしまいます。たとえば、1秒あたりの平均クエリ数がわかっているからといって、実行速度が遅いクエリがわかっているわけではありません。これは、問題を解決するために必要な情報であり、データベースログで利用できます。

    システムで生成されたログ、低速のクエリログ、スケジュールされたタスクログ、バックアップログ、メンテナンスルーチンログなど、すべてのデータベースログを確認することは価値があります。

    DBAの要点:ビジーなデータベースシステムは毎分大量のイベントを生成する可能性があるため、各ログを手動で調べるのは非現実的です。ログイベントを使用してグラフとダッシュボードを作成し、システムの状態を一目で把握できるようにします。

    事実4:アラーム通知により、時間とフラストレーションを節約できます

    ほとんどのアラームは、指標がしきい値に違反したことを通知するだけですが、一部のパフォーマンス監視ツールは、指標と傾向線を提示し、アラームを解釈し、問題を修正する方法を示すことで診断を開始できるスマートアラームを提供します。

    DBAの要点:スマートアラームは、当て推量と最初のトリアージの一部を手元から取り除き、解決プロセスを促進します。

    事実5:モバイルパフォーマンスモニタリングは、仕事から離れた生活を送るための鍵です

    パフォーマンス監視アプリは、ほとんどのデバイスとOSで利用でき、次のような機能が含まれています。

    • ヒートマップ:最大で最も厄介な問題を一目で特定するための視覚的なプロンプトを表示します
    • 色分けおよび番号コード化されたアラーム:各SQLサーバーの問題の重大度に関するわかりやすい情報を提供します

    DBAのポイント:モバイルパフォーマンス監視アプリを使用すると、いつでもどこからでも問題を特定してトリアージを開始できます。アラームに対応するために深夜にオフィスに足を踏み入れる必要はもうありません。

    事実6:SaaSデータベースのパフォーマンス監視システムは、コストが低く、拡張が容易で、メンテナンスもはるかに少なくて済みます

    従来のオンプレミスのパフォーマンス監視システムは、一部の組織にとって優れたオプションですが、SaaSソリューションの人気が高まっていることは否定できません。 SaaSパフォーマンス監視ソリューションを選択する理由はたくさんあります。

    • セキュリティ:ほとんどのSaaSソリューションは、AzureやAmazonなどの安全性の高いクラウドインフラストラクチャ上に構築されています
    • スケーラビリティ:クラウドは、ニーズの変化に応じてほぼ瞬時にスケールアップまたはスケールダウンを提供します
    • 柔軟性:モバイルアプリ、使いやすいUI、クラウドベースのツールにより、分散したチームがシームレスに連携できます
    • 復元力:SaaSアプリケーションは、高可用性と復元力を実現するように設計されています

    DBAの要点:SaaSパフォーマンス監視ソリューションが主流になるにつれて、従来のオンプレミスソリューションよりも機敏で機能が豊富であることは間違いありません。おそらく最も重要なセールスポイントは、クラウドセキュリティに関する最初の懸念が根拠のないものであることが示されていることです。

    事実7:ノイズをシャットアウトしないと、パフォーマンスの監視が圧倒される可能性があります

    パフォーマンスの監視は、システム内の問題についてDBAに通知することを目的としています。ただし、情報が多すぎるとアラーム疲労が発生し、DBAが重大な問題を見逃す可能性があります。幸いなことに、混乱を静める方法があります:

    • アラートを構成し、応答をカスタマイズします
    • 誤検知を引き起こすことが多いイベントのアラームをオフにします
    • リアクティブモードで生活する代わりに、チューニングと診断を使用してダウンタイムと障害を防止します

    DBAの要点:ノイズを削減することで、実際の問題を切り分けて修正に集中することができます。

    事実8:チェックリストはDBAの親友です

    アラート、イベントログ、セキュリティポリシー違反、および待機統計に細心の注意を払っていることを確認するために、日次、週次、月次、および四半期ごとのチェックリストを作成します。これらの統計を追跡すると、進行中の問題を特定し、それらが大きな問題になる前にプロアクティブに対処できるようになるため、パフォーマンスの監視が容易になります。

    DBAの要点:問題を早期にキャッチすることは、パフォーマンスの問題を最小限に抑えるための鍵です。チェックリストのスケジュールを順守することで、システムのメンテナンスとチューニングの機会を常に把握することができます。

    事実9:最終的な目標は、問題が発生したときに修正するだけでなく、パフォーマンスを向上させることです。

    すべてのDBAは、あるレベルで主任消火器の役割を果たしますが、問題に積極的に対処するためのパフォーマンス監視戦略を作成することは、ある危機から次の危機に絶えずジャンプするよりもはるかに簡単です。チューニングと最適化は、大きな問題を分離し、小さな問題に優先順位を付けて(または防止して)、データベースの特定のニーズに合わせて監視をカスタマイズできるパフォーマンス監視システムを設定するための鍵です。

    さらに正確なチューニングについては、SQLServerの最適化にAIを使用するパフォーマンス監視ソリューションを探してください。

    DBAの要点:長期間にわたるパフォーマンス履歴を確認すると、パフォーマンスの問題を事前に予測するのに役立ちます。人工知能は、実行プランを分析し、SQLServerがより効率的に操作を実行できるように実行プランを変更する方法を決定できます。

    ファクト10:データベースパフォーマンスの監視について学ぶことは常に新しいことです

    テクノロジーは瞬く間に変化するため、最新のパフォーマンス監視のトレンドとツールを常に把握してください。あなた自身をあなたの会社の頼りになる専門家にして、以下によって継続的な学習を受け入れてください:

    • 会議への参加
    • ユーザーグループへの参加
    • フォーラムへの参加
    • 認定を受ける

    DBAの要点:データベースパフォーマンスの監視についてできる限りのことを学ぶことを選択してください。常駐データベースパフォーマンス監視の専門家になることで、組織に不可欠なリソースになるだけでなく、仕事の満足度と自信も向上します。


    1. T-SQLで(タイムゾーンなしで)現在の日付と時刻を取得する方法

    2. SQLServer待機イベント-3

    3. UPDLOCK、HOLDLOCKについて混乱している

    4. 節を知っておく:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、およびLIMITのすべて