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引数があり、次のいずれかです。

  • 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+00:00 \
    --sampling-end 2024-01-10 13:00:00+00:00 --html \
    --report-name Jan10_incident my-oltp postgres

注釈

--sampling-start および`--sampling-end` は、タイムゾーンの有無にかかわらずタイムスタンプを受け入れます。タイムスタンプでタイムゾーンが明示的に設定されていない場合、PWRはシステムのタイムゾーンを使用します。

pwr execute -h を実行して、使用可能なオプションの完全なリストを取得します。

report オプションの例#

注釈

以前のレポートを上書きするのを避けるため、 pwr execute コマンドは、 %Y%m%d%H%M%S 形式で提供されたレポート名にデータベース名とタイムスタンプを追加します March_report-mydatabase-20240321-133727.html など 。この動作を回避するには、 pwr execute を実行するときに`--use-plain-report-name` オプションを使用します。

場合によっては、既に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 を実行して、使用可能なオプションの完全なリストを取得します。