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.
-<!-- $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>
        <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
        <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
        <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
 
  *
  * 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 $
  *
  *--------------------------------------------------------------------
  */
            GUC_UNIT_MS
        },
        &autovacuum_vac_cost_delay,
-       -1, -1, 1000, NULL, NULL
+       20, -1, 1000, NULL, NULL
    },
 
    {
            NULL
        },
        &autovacuum_vac_thresh,
-       500, 0, INT_MAX, NULL, NULL
+       50, 0, INT_MAX, NULL, NULL
    },
    {
        {"autovacuum_analyze_threshold", PGC_SIGHUP, AUTOVACUUM,
            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 */
 
 #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