Using EDB Postgres Tuner¶
EDB Postgres Tunerは2つの方法で使用できます。すべてのチューニングの推奨事項を自動的に適用するか、選択したチューニングの推奨事項を手動で適用します。
自動チューニング¶
すべてのチューニングの推奨事項を自動的に適用するには、
edb_pg_tuner.autotune パラメーターをtrue に設定します。
Postgresを再起動して変更を適用します。 EDB Postgres
Tunerは、チューニングの推奨事項の適用を開始します。
マニュアルチューニング¶
選択したチューニングの推奨事項を手動で適用するには、
edb_pg_tuner.autotune パラメーターがデフォルトのfalse
に設定されていることを確認します。次に、
edb_pg_tuner_recommendations
関数を使用して、出力からチューニングの推奨事項を検査します。
チューニングの推奨事項の形式をconf またはsql
に設定できます。例:
SELECT edb_pg_tuner_recommendations(sql);
そこで:
confは、parameter = valueのような出力を提供し、構成ファイルにコピーして貼り付けることができます。これがデフォルトです。sqlは、好みのPostgresクライアントツールで実行できるALTER SYSTEM SET parameter = valueのような出力を提供します。
例¶
この例では、チューニングの推奨事項を postgresql.conf
ファイルに手動で適用する方法を示します。
postgresql.conf ファイルの設定例を次に示します。
checkpoint_completion_target = 0.2
effective_cache_size = 4GB
enable_seqscan = off
fsync = off
full_page_writes = off
max_wal_size = 2MB
seq_page_cost = 1.3
shared_buffers = 128MB
次のコマンドは、デフォルトのconf 形式でpostgresql.conf
ファイルのチューニングの推奨事項を提供します。
postgres=# SELECT * FROM edb_pg_tuner_recommendations();
__OUTPUT__
recommendation
- -----------------------------------
checkpoint_completion_target = 0.9
effective_cache_size = 4653 MB
enable_seqscan = on
fsync = on
full_page_writes = on
max_wal_size = 84MB
maintenance_work_mem = 524 MB
shared_buffers = 1474 MB
(8 rows)
次のコマンドは、 sql 形式で出力を提供します。
postgres=# SELECT edb_pg_tuner_recommendations(sql);
__OUTPUT__
edb_pg_tuner_recommendations
- -----------------------------------------------------
ALTER SYSTEM SET checkpoint_completion_target = 0.9;
ALTER SYSTEM SET effective_cache_size = 4653 MB;
ALTER SYSTEM SET enable_seqscan = on;
ALTER SYSTEM SET fsync = on;
ALTER SYSTEM SET full_page_writes = on;
ALTER SYSTEM SET max_wal_size = 84MB;
ALTER SYSTEM SET maintenance_work_mem = 524 MB;
ALTER SYSTEM SET shared_buffers = 1474 MB;
(8 rows)
conf 形式のチューニングの推奨事項をコピーして、 postgresql.conf
ファイルに貼り付けることができます。
checkpoint_completion_target = 0.9
effective_cache_size = 4653 MB
enable_seqscan = on
fsync = on
full_page_writes = on
max_wal_size = 84MB
maintenance_work_mem = 524 MB
shared_buffers = 1474 MB
好みのPostgresクライアントツールでsql
形式でチューニングの推奨事項を実行できます。
ALTER SYSTEM SET checkpoint_completion_target = 0.9;
ALTER SYSTEM SET effective_cache_size = 4653 MB;
ALTER SYSTEM SET enable_seqscan = on;
ALTER SYSTEM SET fsync = on;
ALTER SYSTEM SET full_page_writes = on;
ALTER SYSTEM SET max_wal_size = 84MB;
ALTER SYSTEM SET maintenance_work_mem = 524 MB;
ALTER SYSTEM SET shared_buffers = 1474 MB;
推奨GUC¶
EDB Postgres Tunerは、次のGUCを推奨できます。 static
カテゴリは、固定の推奨設定を提供します。 dynamic
カテゴリーは、特定のアルゴリズムを使用して、ワークロードまたはハードウェアリソースに従ってより良い設定を提案します。
GUC |
Category |
Recommendation |
Version |
|---|---|---|---|
autovacuum |
static |
on |
|
checkpoint_completion_target |
static |
0.9 |
|
effective_cache_size |
dynamic |
||
enable_async_append |
static |
on |
|
enable_bitmapscan |
static |
on |
|
enable_gathermerge |
static |
on |
|
enable_group_by_reordering |
static |
on |
|
enable_hashagg |
static |
on |
|
enable_hashjoin |
static |
on |
|
enable_incremental_sort |
static |
on |
13+ |
enable_indexonlyscan |
static |
on |
|
enable_indexscan |
static |
on |
|
enable_material |
static |
on |
|
enable_memoize |
static |
on |
14+ |
enable_mergejoin |
static |
on |
|
enable_nestloop |
static |
on |
|
enable_parallel_append |
static |
on |
11+ |
enable_parallel_hash |
static |
on |
11+ |
enable_partition_pruning |
static |
on |
11+ |
enable_partitionwise_aggregate |
static |
on |
|
enable_partitionwise_join |
static |
on |
|
enable_seqscan |
static |
on |
|
enable_sort |
static |
on |
|
enable_tidscan |
static |
on |
|
fsync |
static |
on |
|
full_page_writes |
static |
on |
|
log_checkpoints |
static |
on |
|
max_wal_size |
dynamic |
||
maintenance_work_mem |
dynamic |
||
parallel_leader_participation |
static |
on |
|
seq_page_cost |
static |
1.0 |
|
shared_buffers |
dynamic |
||
track_activities |
static |
on |
|
track_counts |
static |
on |
|
zero_damaged_pages |
static |
on |