PREPARATION
受験対策

Goldの例題解説 - G3 パフォーマンスチューニング(Ver.3.0)

このページではメルマガで紹介した例題のアーカイブを試験のレベルごとにまとめています。
是非、OSS-DBの学習にお役立てください。

修正等により、例題番号が連番ではない場合がございます。あらかじめご了承ください。

G3.1 性能に関係するパラメータ

3.15

PostgreSQLサーバをレプリケーション構成で稼働させる場合、synchronous_commit パラメータによってプライマリ機とスタンバイ機の同期レベルをチューニングすることが可能である。
以下の選択肢は、プライマリ機でトランザクションのコミットを実行した際の、synchronous_commit パラメータの設定値毎の動作の説明をしたものである。誤っているものを1つ選びなさい。

A. on にすると、WALがスタンバイ機のディスクに正常に書き出されたタイミングでコミット成功とする

B. off にすると、WALがプライマリ機にもスタンバイ機にもまだ書き出されていない状況でもコミット成功とする

C. local にすると、WALがスタンバイ機のディスクに書き出される前の、バッファに書き出されたタイミングでコミット成功とする

D. remote_apply にすると、スタンバイ機でのWALのディスク書き込みだけでなく、WALの記述内容がデータベースに適用されたタイミングでコミット成功とする

 例題解説の提供:株式会社デージーネット OSS研究室 後藤 慎司 氏

G3.1 性能に関係するパラメータ

3.14

buffers_backendに関する説明として適切なものをすべて選びなさい。

A. pg_stat_bgwriterビューによって表示される

B. チェックポイントによる書き出しの際に値が増加する

C. buffers_backendの値がbuffers_allocに対して大きい場合は、shared_buffersの値のチューニングを検討する必要がある

D. バックグラウンドライタによる書き出しの際に値が増加する

E. バックエンドプロセスによる書き出しの際に値が増加する

 例題解説の提供:株式会社デージーネット OSS研究室 大野 公善 氏

G3.1 性能に関係するパラメータ

3.13

問い合わせ計画に関する以下の内容のうち、正しいものを全て選択しなさい。

A. enable_indexscanを無効に設定すると、インデックススキャンは完全に行われなくなる。

B. enable_seqscanを無効に設定すると、シーケンシャルスキャンは完全に行われなくなる。

C. random_page_costをseq_page_costと比較して小さく設定すると、よりインデックススキャンが使用されるようになる。

D. random_page_costをseq_page_costと比較して大きく設定すると、よりインデックススキャンが使用されるようになる。

E. default_statistics_targetをより小さく設定すると、より細かく統計情報を収集するようになるため、プランナの予測の品質が向上する。 

 例題解説の提供:OSS-DBアカデミック認定校 株式会社メトロシステムズ 岡野 慎也 氏

G3.1 性能に関係するパラメータ

3.12

work_memをチューニングすることによって、性能が向上すると考えられる処理を全て選択しなさい。

A. ORDER BY

B. CREATE INDEX

C. マージ結合

D. VACUUM

E.   自動VACUUM

 

 例題解説の提供:OSS-DBアカデミック認定校 株式会社メトロシステムズ 岡野 慎也 氏

G3.2 チューニングの実施

3.11

インデックスの作成に関する説明として、適切なものを2つ選びなさい。

A. FILLFACTORの指定が省略された場合、デフォルト値として対象テーブルのFILLFACTORと同じ値が設定される

B. UNLOGGEDパラメータが指定された場合、インデックスの更新時にWALログが取られなくなり、更新処理が高速化する

C. PARALLELパラメータが指定された場合、複数のプロセスによりインデックスが作成され、作成時間が短縮する

D. CONCURRENTLYパラメータが指定された場合、対象テーブルに対する書き込みをロックせずにインデックスを作成するが、通常の方式より作成時間が長くなる

E. インデックスの定義で使用される関数と演算子は、immutableでなければならない 

 

 例題解説の提供:OSS-DBアカデミック認定校 NTTテクノクロス株式会社 OSS-DB Gold 認定者 河原 翔 氏

G3.2 チューニングの実施

3.10

GUCパラメータのenable_seqscanをonからoffに変更する前後で、同一のクエリに対してEXPLAIN ANALYZE文で実行計画を取得する。
実行計画の変化の説明として、最も適切ではないものを1つ選びなさい。
この時、enable_seqscan以外の条件はすべて同一とする。

A. Total runtimeの値が大きくなる可能性がある

B. Total runtimeの値が小さくなる可能性がある

C. 最上位ノードの全体推定コストが大きくなる可能性がある

D. 最上位ノードの全体推定コストが小さくなる可能性がある

E. 全く同一の実行計画が選択される可能性がある

 

 例題解説の提供:OSS-DBアカデミック認定校 NTTテクノクロス株式会社 OSS-DB Gold 認定者 河原 翔 氏

G3.2 チューニングの実施

3.09

インデックスの再作成について正しい記述を2つ選びなさい。

A. インデックスの再作成はサービスを停止して行う必要がある。

B. REINDEXはインデックスの元となるテーブルの読み込みをロックしないため、サービス稼働中に実行しても参照処理への影響はない。

C. CREATE INDEX CONCURRENTLYは、同時挿入、更新、削除と競合するロックを獲得せずにインデックスを作成できる。

D. CREATE INDEX CONCURRENTLYでは、プライマリキーの作成も可能である。

E. 定期的にインデックスの再作成を行うことで、インデックスの肥大化を抑止できる。

 

 例題解説の提供:株式会社メトロシステムズ OSS-DB Silver認定者 白井 拓史 氏

G3.2 チューニングの実施

3.08

PostgreSQLの処理全般が定期的に遅くなる現象が発生した。この場合のチューニングで効果が期待できる対策を2つ選びなさい。

A. 遅くなったSQLを見直し、負荷の原因となっている記述を修正する。

B. checkpoint_completion_targetを調整して、チェックポイントの負荷分散を図る。

C. autovacuum_vacuum_cost_limitまたはvacuum_cost_limit値を小さくし、VACUUM処理の負荷低減を図る。

D. ストリーミングレプリケーション構成に変更し負荷分散を図る。

E. PostgreSQLの特性であり対策はない。

 

 例題解説の提供:株式会社メトロシステムズ OSS-DB Silver認定者 白井 拓史 氏

G3.1 性能に関係するパラメータ

3.07

full_page_writesパラメータをOFFに設定した場合に関する説明として、適切でないものを2つ選びなさい。

A. データ更新時の応答性能が向上する可能性がある

B. データ更新時のWALの書き込み量が低減する可能性がある

C. wal_levelパラメータがminimalの場合は、応答性能は変化しない

D. システムクラッシュ時に、回復不可能なデータ破損が発生する可能性がある

E. ポイントインタイムリカバリの運用はできなくなる

 

 例題解説の提供:OSS-DBアカデミック認定校 NTTテクノクロス株式会社 OSS-DB Gold 認定者 河原 翔 氏

G3.1 性能に関係するパラメータ

3.06

性能低下の原因に関して正しいものをすべて選択しなさい。

A. shared_buffersの値を大きく設定しすぎたことによって、チェックポイント中の問い合わせの性能が低下した。

B. maintenance_work_memをwork_memよりも大きく設定したことによって、VACUUM処理の性能が低下した。

C. 複数のセッションが多量のINSERTを発行したことによって、WALファイルへの書き込みで競合が発生し、INSERTの性能が低下した。

D. pgstattupleを用いて定期的にタプルレベルの統計情報を取得しなかったため、PostgreSQLが最適な実行計画を作成できずに問い合わせの性能が低下した。

 

 例題解説の提供:株式会社メトロシステムズ 岡野 慎也 氏

G3.1 性能に関係するパラメータ(ロック管理)

3.02

デッドロックに関する GUC パラメータ deadlock_timeout の説明として、正しいものをすべて選びなさい。

A. deadlock_timeout で指定された時間を経過してもロックが獲得できなければ、デッドロックが発生していると判断される。

B. deadlock_timeout の値を調整することで、デッドロックの発生を回避できる。

C. deadlock_timeout の値を小さくすると、ロック待ちのプロセスが減るので、結果的にCPU負荷を小さくすることができると考えられる。

D. デッドロックはアプリケーションの作り方を工夫することで回避すべきであり、deadlock_timeout の値はなるべく大きくすることが望ましい。

E. deadlock_timeout のデフォルトの設定では、デッドロックの検出は自動的には実行されない。


G3.1 性能に関係するパラメータ

3.01

GUCパラメータの説明として、誤っているものを1つ選びなさい。

  1. shared_bufferは、PostgreSQLサーバが使用する共有メモリバッファのサイズ を設定する。

  2. max_connectionsは、PostgresSQLサーバに接続できる最大クライアント数を 設定する。

  3. work_memは、VACUUM、CREATE INDEXなどの保守作業で使用されるメモリの最 大容量を設定する。

  4. sslをonに設定することでSSL接続を有効にする。

  5. wal_levelは、WALに書き込まれる情報を制御するパラメータである。


企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策

受験の学習をサポートする情報や対策に役立つ情報をご紹介

例題解説

例題のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関ご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

OSS-DBやPostgreSQLの知識、技術を得るために役立つ情報の紹介やコラムを公開しています。