Using Postgres Workload Report#
前提条件#
Postgresワークロードレポートは、edb_wait_states
拡張機能バージョン1.2以降がロードされているPostgresサーバーのレポートのみを提供できます。さらに、PWRは、edb_wait_states
拡張機能がサーバーにロードされた時間間隔のクエリ待機レポートのみを提供できます。
詳細については、 edb_wait_states を参照してください。
レポートのソース情報#
edb-pwr およびedb-lasso
パッケージがマシンにインストールされ、edb_wait_states
拡張機能が十分な期間ロードされた状態でサーバーが実行された後、Postgres
Workload
Reportを使用して、実行中に実行されていたクエリの待機状態のレポートを抽出できます。指定された時間間隔。
あるいは、Postgresワークロードレポートは、edb_wait_states
がロードされたサーバーでレポートが実行されたと仮定して、既存のLassoレポートからレポートを生成できます。このため、Postgresワークロードレポートには必須の第1引数があり、次の2つのいずれかです。
executereport
execute
引数はエンドツーエンドの実行を実行し、適切なオプションでlasso
を呼び出し、生成されたtarballレポートを入力として使用して、HTML、Markdown、DOCX、またはPDFレポートを生成します。
report
引数は、待機状態レポートを処理および生成するための入力として、lasso
レポートコンテンツを保存するディレクトリを使用します。 report
引数を使用するには、解凍および解凍されたlasso
レポートが既に存在する必要があります。
execute オプションの例#
この例では、1月10日9:00から1月10日13:00までの間隔でのPostgresサーバーmyserver
のクエリ待機に関するレポートを生成します。その頃、インシデントが発生しました。根本的な原因を提供するために調査する必要があります。
edb_wait_states
がインストールされるサーバーのメインデータベースはmy-oltp です。
このようなレポートをHTML形式で取得するには、次のコマンドを使用します。
pwr execute --host-name myserver --sampling-start 2024-01-10 09:00+00 \
--sampling-end 2024-01-10 13:00+00 --html \
--report-name Jan10_incident my-oltp postgres
pwr execute -h
を実行して、使用可能なオプションの完全な出力を取得できます。
report オプションの例#
場合によっては、既にLassoレポートがあり、PWRにLassoレポートをソースとして使用し、それに基づいてレポートを構築したい場合があります。これらの場合、
pwr report オプションは役立ちます。
この例では、既に説明したのと同じシナリオを使用できますが、上記で共有した時間境界を使用して既に実行されたなげなLassoレポートを使用します。
Lassoレポートの名前がedb-lasso-Jan10-incident.tar.bz2
で、pwr report
が実行されるマシンのホームディレクトリにあると仮定します。
次のコマンドを実行すると、~/pwr_output/Jan10_incident.html
に保存されたHTMLレポートが生成されます。
cd ~/
mkdir -p pwr_tmp/
tar jxf ../edb-lasso-Jan10-incident.tar.bz2 -C ~/pwr_tmp/ --strip-components=1
pwr report \
--input-dir ~/pwr_tmp/postgresql/dbs/my-oltp/edb_wait_states/ \
--html --output-dir ~/pwr_output/ --report-name Jan10_incident
pwr report -h
を実行して、使用可能なオプションの完全な出力を取得できます。