aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-01-21 03:28:42 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-01-21 03:28:42 +0000
commit1e985720ebd1a68ae3c64a660caebf72efca59c7 (patch)
tree924e8c8ba96294f3b7c61ab449eea2cedfd57a58 /doc/src
parent716e8b8374d7acd8831767918258727ecb099428 (diff)
downloadpostgresql-1e985720ebd1a68ae3c64a660caebf72efca59c7.tar.gz
postgresql-1e985720ebd1a68ae3c64a660caebf72efca59c7.zip
Improve description of bgwriter_lru_multiplier, per discussion.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/config.sgml25
1 files changed, 13 insertions, 12 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index e0ad0cf3029..a64dabfd058 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.160 2007/12/11 20:07:31 alvherre Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.161 2008/01/21 03:28:42 tgl Exp $ -->
<chapter Id="runtime-config">
<title>Server Configuration</title>
@@ -1192,17 +1192,16 @@ SET ENABLE_SEQSCAN TO OFF;
<title>Background Writer</title>
<para>
- Beginning in <productname>PostgreSQL</> 8.0, there is a separate server
+ There is a separate server
process called the <firstterm>background writer</>, whose function
is to issue writes of <quote>dirty</> shared buffers. The intent is
that server processes handling user queries should seldom or never have
to wait for a write to occur, because the background writer will do it.
However there is a net overall
- increase in I/O load, because where a repeatedly-dirtied page might
- before have been written only once per checkpoint interval, the
+ increase in I/O load, because a repeatedly-dirtied page might
+ otherwise be written only once per checkpoint interval, but the
background writer might write it several times in the same interval.
- In most situations a continuous low load is preferable to periodic
- spikes, but the parameters discussed in this subsection can be used to
+ The parameters discussed in this subsection can be used to
tune the behavior for local needs.
</para>
@@ -1253,12 +1252,14 @@ SET ENABLE_SEQSCAN TO OFF;
</indexterm>
<listitem>
<para>
- Unless limited by <varname>bgwriter_lru_maxpages</>, the number
- of dirty buffers written in each round is determined by reference
- to the number of new buffers that have been needed by server
- processes during recent rounds. This number is multiplied by
- <varname>bgwriter_lru_multiplier</> to arrive at the estimate
- of the number of buffers that will be needed during the next round.
+ The number of dirty buffers written in each round is based on the
+ number of new buffers that have been needed by server processes
+ during recent rounds. The average recent need is multiplied by
+ <varname>bgwriter_lru_multiplier</> to arrive at an estimate of the
+ number of buffers that will be needed during the next round. Dirty
+ buffers are written until there are that many clean, reusable buffers
+ available. (However, no more than <varname>bgwriter_lru_maxpages</>
+ buffers will be written per round.)
Thus, a setting of 1.0 represents a <quote>just in time</> policy
of writing exactly the number of buffers predicted to be needed.
Larger values provide some cushion against spikes in demand,