Change default commit_delay to zero, update documentation.
This commit is contained in:
parent
33cc5d8a4d
commit
57e0847180
@ -1,4 +1,4 @@
|
|||||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.1 2001/01/24 23:15:19 petere Exp $ -->
|
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.2 2001/02/18 04:50:43 tgl Exp $ -->
|
||||||
|
|
||||||
<chapter id="wal">
|
<chapter id="wal">
|
||||||
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
|
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
|
||||||
@ -290,15 +290,15 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <varname>COMMIT_DELAY</varname> parameter defines for how long
|
The <varname>COMMIT_DELAY</varname> parameter defines for how many
|
||||||
the backend will be forced to sleep after writing a commit record
|
microseconds the backend will sleep after writing a commit
|
||||||
to the log with <function>LogInsert</function> call but before
|
record to the log with <function>LogInsert</function> but before
|
||||||
performing a <function>LogFlush</function>. This delay allows other
|
performing a <function>LogFlush</function>. This delay allows other
|
||||||
backends to add their commit records to the log so as to have all
|
backends to add their commit records to the log so as to have all
|
||||||
of them flushed with a single log sync. Unfortunately, this
|
of them flushed with a single log sync. Unfortunately, this
|
||||||
mechanism is not fully implemented at release 7.1, so there is at
|
mechanism is not fully implemented at release 7.1, so there is at
|
||||||
present no point in changing this parameter from its default value
|
present usually no benefit to be gained from increasing this parameter
|
||||||
of 5 microseconds.
|
above its default value of zero.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.96 2001/01/24 19:42:51 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.97 2001/02/18 04:50:43 tgl Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* Transaction aborts can now occur two ways:
|
* Transaction aborts can now occur two ways:
|
||||||
@ -221,7 +221,7 @@ int XactIsoLevel;
|
|||||||
|
|
||||||
#include "access/xlogutils.h"
|
#include "access/xlogutils.h"
|
||||||
|
|
||||||
int CommitDelay = 5; /* 1/200000 sec */
|
int CommitDelay = 0; /* in microseconds */
|
||||||
|
|
||||||
static void (*_RollbackFunc)(void*) = NULL;
|
static void (*_RollbackFunc)(void*) = NULL;
|
||||||
static void *_RollbackData = NULL;
|
static void *_RollbackData = NULL;
|
||||||
@ -667,7 +667,6 @@ RecordTransactionCommit()
|
|||||||
{
|
{
|
||||||
XLogRecData rdata;
|
XLogRecData rdata;
|
||||||
xl_xact_commit xlrec;
|
xl_xact_commit xlrec;
|
||||||
struct timeval delay;
|
|
||||||
XLogRecPtr recptr;
|
XLogRecPtr recptr;
|
||||||
|
|
||||||
BufmgrCommit();
|
BufmgrCommit();
|
||||||
@ -686,11 +685,20 @@ RecordTransactionCommit()
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Sleep before commit! So we can flush more than one
|
* Sleep before commit! So we can flush more than one
|
||||||
* commit records per single fsync.
|
* commit records per single fsync. (The idea is some other
|
||||||
|
* backend may do the XLogFlush while we're sleeping. This
|
||||||
|
* needs work however, because on most Unixen, the minimum
|
||||||
|
* select() delay is 10msec or more, which is way too long.)
|
||||||
*/
|
*/
|
||||||
delay.tv_sec = 0;
|
if (CommitDelay > 0)
|
||||||
delay.tv_usec = CommitDelay;
|
{
|
||||||
(void) select(0, NULL, NULL, NULL, &delay);
|
struct timeval delay;
|
||||||
|
|
||||||
|
delay.tv_sec = 0;
|
||||||
|
delay.tv_usec = CommitDelay;
|
||||||
|
(void) select(0, NULL, NULL, NULL, &delay);
|
||||||
|
}
|
||||||
|
|
||||||
XLogFlush(recptr);
|
XLogFlush(recptr);
|
||||||
MyLastRecPtr.xrecoff = 0;
|
MyLastRecPtr.xrecoff = 0;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Support for grand unified configuration scheme, including SET
|
* Support for grand unified configuration scheme, including SET
|
||||||
* command, configuration file, and command line options.
|
* command, configuration file, and command line options.
|
||||||
*
|
*
|
||||||
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.29 2001/02/07 23:36:22 vadim Exp $
|
* $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.30 2001/02/18 04:50:43 tgl Exp $
|
||||||
*
|
*
|
||||||
* Copyright 2000 by PostgreSQL Global Development Group
|
* Copyright 2000 by PostgreSQL Global Development Group
|
||||||
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
* Written by Peter Eisentraut <peter_e@gmx.net>.
|
||||||
@ -291,7 +291,7 @@ ConfigureNamesInt[] =
|
|||||||
0, 0, 16},
|
0, 0, 16},
|
||||||
|
|
||||||
{"commit_delay", PGC_USERSET, &CommitDelay,
|
{"commit_delay", PGC_USERSET, &CommitDelay,
|
||||||
5, 0, 1000},
|
0, 0, 100000},
|
||||||
|
|
||||||
{NULL, 0, NULL, 0, 0, 0}
|
{NULL, 0, NULL, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
@ -108,7 +108,7 @@
|
|||||||
#wal_buffers = 8 # min 4
|
#wal_buffers = 8 # min 4
|
||||||
#wal_files = 0 # range 0-64
|
#wal_files = 0 # range 0-64
|
||||||
#wal_debug = 0 # range 0-16
|
#wal_debug = 0 # range 0-16
|
||||||
#commit_delay = 5 # range 0-1000
|
#commit_delay = 0 # range 0-100000
|
||||||
#checkpoint_timeout = 300 # range 30-1800
|
#checkpoint_timeout = 300 # range 30-1800
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user