mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Change checkpoint_completion_target default to 0.9
Common recommendations are that the checkpoint should be spread out as much as possible, provided we avoid having it take too long. This change updates the default to 0.9 (from 0.5) to match that recommendation. There was some debate about possibly removing the option entirely but it seems there may be some corner-cases where having it set much lower to try to force the checkpoint to be as fast as possible could result in fewer periods of time of reduced performance due to kernel flushing. General agreement is that the "spread more" is the preferred approach though and those who need to tune away from that value are much less common. Reviewed-By: Michael Paquier, Peter Eisentraut, Tom Lane, David Steele, Nathan Bossart Discussion: https://postgr.es/m/20201207175329.GM16415%40tamriel.snowman.net
This commit is contained in:
@ -145,7 +145,7 @@ static CheckpointerShmemStruct *CheckpointerShmem;
|
||||
*/
|
||||
int CheckPointTimeout = 300;
|
||||
int CheckPointWarning = 30;
|
||||
double CheckPointCompletionTarget = 0.5;
|
||||
double CheckPointCompletionTarget = 0.9;
|
||||
|
||||
/*
|
||||
* Private state
|
||||
|
@ -3725,7 +3725,7 @@ static struct config_real ConfigureNamesReal[] =
|
||||
NULL
|
||||
},
|
||||
&CheckPointCompletionTarget,
|
||||
0.5, 0.0, 1.0,
|
||||
0.9, 0.0, 1.0,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
|
||||
|
@ -231,7 +231,7 @@
|
||||
#checkpoint_timeout = 5min # range 30s-1d
|
||||
#max_wal_size = 1GB
|
||||
#min_wal_size = 80MB
|
||||
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
|
||||
#checkpoint_completion_target = 0.9 # checkpoint target duration, 0.0 - 1.0
|
||||
#checkpoint_flush_after = 0 # measured in pages, 0 disables
|
||||
#checkpoint_warning = 30s # 0 disables
|
||||
|
||||
|
@ -26,7 +26,6 @@ my $bravo = get_new_node('bravo');
|
||||
$bravo->init_from_backup($alpha, 'bkp', has_streaming => 1);
|
||||
$bravo->append_conf('postgresql.conf', <<EOF);
|
||||
checkpoint_timeout=1h
|
||||
checkpoint_completion_target=0.9
|
||||
EOF
|
||||
$bravo->start;
|
||||
|
||||
|
Reference in New Issue
Block a user