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

pgDash DiagnosticsAlternatives-ClusterControlを使用したPostgreSQLクエリ管理

    データベースはすべてクエリに関するものです。それらにデータを保存してから、何らかの方法でデータを取得できる必要があります。ここにクエリがあります。構造化されているかどうかに関係なく、取得するデータを定義する方法でクエリを記述します。理想的には、これらのクエリは高速であり、結局のところ、データを待ちたくありません。クエリの動作と実行方法を理解するためのツールはたくさんあります。このブログ投稿では、pgDashとClusterControlを比較します。どちらの場合も、クエリのパフォーマンスは機能の一部にすぎません。それ以上の期限はありませんが、それらを見てみましょう。

    pgDashとは何ですか?

    pgDashはPostgreSQLの監視専用のツールであり、クエリパフォーマンスの監視は利用可能な機能の1つです。

    pgDashでは、データを取得するためにpg_stat_statementsが必要です。データベースごとにクエリを表示することができます。どの列を表示するかを定義できます(データを読みやすくするために、デフォルトでは一部の列は表示されません)。実行時間(平均、最大、最小、合計)のような複数のタイプのデータだけでなく、一時ブロック、アクセスされた行、ディスクアクセス、およびバッファーヒットに関する情報も表示できます。これにより、特定のクエリがどのように実行され、効率的な方法で実行されない理由が何であるかについての優れた洞察が得られます。たとえば、最も遅いクエリや最も一時的なブロックを書き込むクエリを探す任意の列を使用して、データを並べ替えることができます。

    必要に応じて、定義された時間枠で実行されたクエリを検索できます。

    ここでの粒度は1分です。

    リスト上のすべてのクエリについて、クリックしてより詳細な統計を表示できます。

    正確なクエリとそのデータ(ディスクアクセス、共有バッファアクセス、一時ブロックアクセス)。クエリの実行プランのテストと保存を有効にすることもできます。最後に、クエリのパフォーマンスが時間の経過とともにどのように変化したかを示すグラフを確認できます。

    全体として、pgDashはPostgreSQLのクエリパフォーマンスメトリックに関する優れた洞察を提供します。

    ClusterControlPostgreSQLクエリの監視と管理

    ClusterControlには、クエリのパフォーマンスに関する洞察をユーザーに提供することを目的としたクエリモニターが付属しています。クエリモニターはPostgreSQLだけでなく、MySQLとGaleraClusterにも使用できます。

    ClusterControlは、クラスター内のすべてのデータベースとホストにわたって集約されたデータを表示します。クエリのリストには、パフォーマンス関連のメトリックに関する情報が含まれています。発生数、調査された行、一時テーブル、最大、平均、および合計の実行時間。リストは、いくつかの列(発生、最大、平均、標準偏差、および合計実行時間)を使用して並べ替えることができます。

    各クエリをクリックすると、完全なクエリテキストが表示されます。詳細と一般的な最適化のヒント。

    ClusterControlにはクエリ外れ値モジュールも付属しています。

    特定のクエリの平均パフォーマンスから逸脱するクエリがある場合タイプすると、このセクションに表示され、ユーザーはどのクエリが一貫性のない動作をするかをよりよく理解し、これの根本的な原因を見つけようとします。

    PostgreSQLテーブルおよびインデックスメトリック

    クエリのパフォーマンスに直接関連するデータに加えて、両方のツールは、クエリのパフォーマンスに影響を与える可能性のある他の内部情報に関する情報を提供します。

    pgDashには、インデックス、テーブルサイズ、肥大化に関する情報を収集できる「ツール」セクションがあります。

    同様のデータは、ClusterControlのクエリ統計で利用できます:

    テーブルとインデックスのI/O統計を確認できます。テーブルとインデックスの肥大化、未使用または重複したインデックス。インデックススキャンまたはシーケンシャルスキャンを使用して、アクセスされる可能性が高いテーブルを確認することもできます。最大のテーブルとデータベースのサイズを確認することもできます。

    結論

    この短いブログで、クエリのパフォーマンスに関連する機能でClusterControlがpgDashとどのように比較されるかについての洞察が得られることを願っています。 ClusterControlは、パフォーマンスの監視を支援するだけでなく、複数のオープンソースデータベースのHAスタックの構築と展開、構成管理の実行、バックアップスケジュールの定義と実行、その他多くの機能を目的としていることに注意してください。 ClusterControlに興味がある場合は、無料でダウンロードできます。


    1. MariaDBでのSECOND()のしくみ

    2. ループのないセットまたはシーケンスを生成する–パート1

    3. byte []をC#からSQLServerデータベースに保存します

    4. SQL Server 2005で1つのステートメントで2つのテーブルを更新するにはどうすればよいですか?