Improve description of bgwriter_lru_multiplier, per discussion.
authorTom Lane
Mon, 21 Jan 2008 03:28:42 +0000 (03:28 +0000)
committerTom Lane
Mon, 21 Jan 2008 03:28:42 +0000 (03:28 +0000)
doc/src/sgml/config.sgml

index e0ad0cf302932fdcfbcf745152dbe31821d46054..a64dabfd058351bc57c4b3ab104ff21c18735f2b 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
   Server Configuration
@@ -1192,17 +1192,16 @@ SET ENABLE_SEQSCAN TO OFF;
      Background Writer
 
      
-      Beginning in PostgreSQL 8.0, there is a separate server
+      There is a separate server
       process called the background writer, whose function
       is to issue writes of 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.
      
 
@@ -1253,12 +1252,14 @@ SET ENABLE_SEQSCAN TO OFF;
        
        
         
-         Unless limited by 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
-         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
+         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 bgwriter_lru_maxpages
+         buffers will be written per round.)
          Thus, a setting of 1.0 represents a just in time policy
          of writing exactly the number of buffers predicted to be needed.
          Larger values provide some cushion against spikes in demand,