]> granicus.if.org Git - postgresql/commitdiff
Set a default autovacuum vacuum_cost_delay value of 20ms, to avoid excessive
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 24 Jul 2007 01:53:56 +0000 (01:53 +0000)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 24 Jul 2007 01:53:56 +0000 (01:53 +0000)
I/O utilization, per discussion.

While at it, lower the autovacuum vacuum and analyze threshold values to 50
tuples.  It is a bit higher (i.e. more conservative) than what I originally
proposed but much better than the old values for small tables.

doc/src/sgml/config.sgml
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample

index b001e5f283c625abfb1e68abbbf24ccf0f620787..a3331bdef6eb1fd686e076af8265d64ff6e40ab9 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.131 2007/07/18 12:00:47 mha Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.132 2007/07/24 01:53:55 alvherre Exp $ -->
 
 <chapter Id="runtime-config">
   <title>Server Configuration</title>
@@ -3247,7 +3247,7 @@ SELECT * FROM parent WHERE key = 2400;
        <para>
         Specifies the minimum number of updated or deleted tuples needed
         to trigger a <command>VACUUM</> in any one table.
-        The default is 500 tuples.
+        The default is 50 tuples.
         This parameter can only be set in the <filename>postgresql.conf</>
         file or on the server command line.
         This setting can be overridden for individual tables by entries in
@@ -3265,7 +3265,7 @@ SELECT * FROM parent WHERE key = 2400;
        <para>
         Specifies the minimum number of inserted, updated or deleted tuples
         needed to trigger an <command>ANALYZE</> in any one table.
-        The default is 250 tuples.
+        The default is 50 tuples.
         This parameter can only be set in the <filename>postgresql.conf</>
         file or on the server command line.
         This setting can be overridden for individual tables by entries in
@@ -3343,8 +3343,9 @@ SELECT * FROM parent WHERE key = 2400;
        <para>
         Specifies the cost delay value that will be used in automatic
         <command>VACUUM</> operations.  If <literal>-1</> is
-        specified (which is the default), the regular
+        specified, the regular
         <xref linkend="guc-vacuum-cost-delay"> value will be used.
+        The default value is 20 milliseconds.
         This parameter can only be set in the <filename>postgresql.conf</>
         file or on the server command line.
         This setting can be overridden for individual tables by entries in
index feb5354940dd9b9189952adf4d386022c1d943f3..06915017e6e794fe16bce272fa091bfed97b83ad 100644 (file)
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.405 2007/07/10 13:14:21 mha Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.406 2007/07/24 01:53:56 alvherre Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -1348,7 +1348,7 @@ static struct config_int ConfigureNamesInt[] =
                        GUC_UNIT_MS
                },
                &autovacuum_vac_cost_delay,
-               -1, -1, 1000, NULL, NULL
+               20, -1, 1000, NULL, NULL
        },
 
        {
@@ -1656,7 +1656,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &autovacuum_vac_thresh,
-               500, 0, INT_MAX, NULL, NULL
+               50, 0, INT_MAX, NULL, NULL
        },
        {
                {"autovacuum_analyze_threshold", PGC_SIGHUP, AUTOVACUUM,
@@ -1664,7 +1664,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &autovacuum_anl_thresh,
-               250, 0, INT_MAX, NULL, NULL
+               50, 0, INT_MAX, NULL, NULL
        },
        {
                /* see varsup.c for why this is PGC_POSTMASTER not PGC_SIGHUP */
index 738eb9a5f767a20c05fe8cfa8c9558956c3d1975..51c83ade0afdf324af8d616576ef26c29228fadd 100644 (file)
 #log_autovacuum = -1                   # -1 is disabled, 0 logs all actions
                                        # and their durations, > 0 logs only
                                        # actions running at least N msec.
-#autovacuum_vacuum_threshold = 500     # min # of tuple updates before
+#autovacuum_vacuum_threshold = 50      # min # of tuple updates before
                                        # vacuum
-#autovacuum_analyze_threshold = 250    # min # of tuple updates before 
+#autovacuum_analyze_threshold = 50     # min # of tuple updates before 
                                        # analyze
 #autovacuum_vacuum_scale_factor = 0.2  # fraction of rel size before 
                                        # vacuum
                                        # analyze
 #autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
                                        # (change requires restart)
-#autovacuum_vacuum_cost_delay = -1     # default vacuum cost delay for 
+#autovacuum_vacuum_cost_delay = 20     # default vacuum cost delay for 
                                        # autovacuum, -1 means use 
                                        # vacuum_cost_delay
 #autovacuum_vacuum_cost_limit = -1     # default vacuum cost limit for